linux下查看指定进程所运行的CPU核的方法

发布时间:2020-06-03编辑:脚本学堂
多路多核CPU已成为服务器的主流,许多应用程序如Squid和nginx等都有分布进程或线程到不同CPU核的能力。

多路多核CPU已成为服务器的主流,许多应用程序如Squid和nginx等都有分布进程或线程到不同CPU核的能力。
那么,如何查看不同进程在CPU核中的分布情况。
这里使用top工具,配合一下pgrep或pidof小命令来实现。

例如,查看nginx进程的CPU核中的分布情况:
 

复制代码 代码如下:
top -p$(pgrep nginx |linuxjishu/13830.html target=_blank class=infotextkey>awk 'BEGIN{ORS=","}{print $0}' |sed 's/.$//') 
# 或者也可以使用
# pidof nginx |sed -e 's/ /,/g'
# 来替代
# pgrep nginx |awk 'BEGIN{ORS=","}{print $0}' |sed 's/.$//'
# 来获取格式化后的pid值

然后按f键,列出显示菜单选项,再按下j,选择CPU核信息列。回车返回top画面。

如下:
top - 14:46:21 up 13:45,  2 users,  load average: 0.00, 0.00, 0.00
Tasks:   5 total,   0 running,   5 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.1%sy,  0.0%ni, 99.9%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1026684k total,   887572k used,   139112k free,   135308k buffers
Swap:  2064376k total,0k used,  2064376k free,   603008k cached
 
PID USER  PR  NI  VIRT  RES  SHR S %CPU %MEMTIME+  P COMMAND  
12393 root  18   0 41000 1428  808 S  0.0  0.1   0:00.00 1 nginx
12625 nginx 15   0 41344 1440  536 S  0.0  0.1   0:00.00 0 nginx
12626 nginx 15   0 41344 1592  688 S  0.0  0.2   0:00.00 1 nginx
12627 nginx 15   0 41344 1440  536 S  0.0  0.1   0:00.00 2 nginx
12628 nginx 15   0 41344 1440  536 S  0.0  0.1   0:00.00 3 nginx