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