赞
踩
top和htop只会显示所有CPU核心的总体使用情况。如果要查看每个CPU核心的使用情况,可以按下数字键"1"
top
1
显示
Tasks: 60 total, 1 running, 59 sleeping, 0 stopped, 0 zombie %Cpu0 : 1.0 us, 0.0 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu1 : 3.3 us, 1.0 sy, 0.0 ni, 95.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu2 : 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu4 : 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu5 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu6 : 1.7 us, 0.3 sy, 0.0 ni, 98.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu7 : 2.3 us, 2.0 sy, 0.0 ni, 95.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu8 : 1.7 us, 0.3 sy, 0.0 ni, 98.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu9 : 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu10 : 2.3 us, 0.3 sy, 0.0 ni, 97.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu11 : 1.0 us, 0.0 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu12 : 1.0 us, 0.0 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu13 : 0.7 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu14 : 1.0 us, 1.0 sy, 0.0 ni, 98.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu15 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 7808.3 total, 2648.8 free, 3748.4 used, 1411.0 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 3802.3 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3755 huang 20 0 1083904 222756 41112 S 9.7 2.8 28:56.35 node 97 huang 20 0 1017184 156312 36788 S 8.3 2.0 28:51.41 node 37 huang 20 0 661072 64648 32420 S 0.7 0.8 2:57.11 node 4608 huang 20 0 589240 47828 29800 S 0.3 0.6 0:03.47 node 1 root 20 0 2328 1712 1604 S 0.0 0.0 0:00.01 init(Ubuntu-20. 4 root 20 0 2384 68 68 S 0.0 0.0 0:03.33 init 14 root 20 0 2336 108 0 S 0.0 0.0 0:00.00 SessionLeader 15 root 20 0 2352 116 0 S 0.0 0.0 0:00.00 Rela
未指定cpu内核,进程将会随机取cpu内核
%Cpu0 : 1.3 us, 0.0 sy, 0.0 ni, 97.7 id, 0.3 wa, 0.0 hi, 0.7 si, 0.0 st %Cpu1 :100.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu2 :100.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu4 : 0.7 us, 1.0 sy, 0.0 ni, 98.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu5 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu6 :100.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu7 : 1.0 us, 0.0 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu8 : 0.0 us, 1.0 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu9 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu10 : 0.3 us, 0.7 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu11 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu12 : 1.7 us, 1.0 sy, 0.0 ni, 97.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu13 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu14 : 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu15 : 1.0 us, 0.3 sy, 0.0 ni, 98.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 7808.3 total, 2585.9 free, 3754.1 used, 1468.4 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 3796.3 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3593 huang 20 0 5888 1516 1364 R 99.7 0.0 0:30.98 a.out 3618 huang 20 0 5888 1524 1368 R 99.7 0.0 0:27.53 a.out 3643 huang 20 0 5888 1516 1360 R 99.7 0.0 0:24.09 a.out 97 huang 20 0 1017184 156044 36788 S 5.0 2.0 31:14.68 node 3755 huang 20 0 1083904 222992 41112 S 1.3 2.8 31:13.00 node 3843 huang 20 0 1795568 204216 14584 S 0.3 2.6 3:05.45 cpptools 3874 huang 20 0 970192 196920 32812 S 0.3 2.5 0:10.73 node
指定cpu内核运行程序,命令taskset -c 11 ./a.out
Tasks: 64 total, 2 running, 62 sleeping, 0 stopped, 0 zombie %Cpu0 : 0.3 us, 0.3 sy, 0.0 ni, 94.9 id, 0.0 wa, 0.0 hi, 4.4 si, 0.0 st %Cpu1 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu2 : 0.7 us, 0.0 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu3 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu4 : 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu5 : 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu6 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu7 : 0.7 us, 0.3 sy, 0.0 ni, 99.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu8 : 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu9 : 0.7 us, 0.0 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu10 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu11 :100.0 us, 0.0 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu12 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu13 : 0.0 us, 0.7 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu14 : 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st %Cpu15 : 0.7 us, 1.7 sy, 0.0 ni, 97.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 7808.3 total, 2591.5 free, 3748.2 used, 1468.6 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 3802.2 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4743 huang 20 0 5888 1512 1360 R 100.0 0.0 0:06.13 a.out 97 huang 20 0 1017184 156044 36788 S 6.3 2.0 31:25.16 node 3755 huang 20 0 1083904 222888 41112 S 1.0 2.8 31:24.84 node 2769 huang 20 0 5836480 24688 9632 S 0.3 0.3 0:11.64 cpptools-srv 2979 huang 20 0 10996 3760 3116 R 0.3 0.0 0:00.20 top 1 root 20 0 2328 1712 1604 S 0.0 0.0 0:00.01 init(Ubuntu-20. 4 root 20 0 2384 68 68 S 0.0 0.0 0:03.36 init 14 root 20 0 2336 108 0 S 0.0 0.0 0:00.00 SessionLeade
如果想要将一个已经在运行的进程绑定到指定的CPU核心上,可以使用taskset
命令的-p
选项
taskset -p 0x1 <pid>
taskset -p 0x5F5E100 4743
在这个例子中,-p 0x1
表示将进程亲和于第1个CPU核心上。
这个16进制要转成二进制,为1时候,才为指定核可用
#include <stdio.h> #include <stdlib.h> #include <sched.h> #include "unistd.h" int main() { cpu_set_t mask; pid_t pid = getpid(); CPU_ZERO(&mask); CPU_SET(3, &mask); // 指定第几个核运行,本程序 if(sched_setaffinity(pid, sizeof(mask), &mask) == -1) { perror("sched_setaffinity() failed"); exit(EXIT_FAILURE); } while (1); return 0; }
top查看到,本程序运行在cpu3上
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。