多路多核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