linux 查看多核负载(经典)
1. Linux 下,如何看每个 CPU 的使用率:
#top -d 1
之后按下 数字 1. 则显示多个 CPU (top 后按 1也一样)
Cpu0 : 1.0%us, 3.0%sy, 0.0%ni, 96.0%id, 0.0%wa, 0.0%hi, 0.0%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
2. 在 Linux 下,如何确认是多核或多 CPU:
#cat /proc/cpuinfo
如果有多个类似以下的项目,则为多核或多 CPU:
processor : 0
......
processor : 1
3. 如何察看某个进程在哪个 CPU 上运行:
#top -d 1
之后按下 f.进入 top Current Fields 设置页面:
选中: j: P = Last used cpu (SMP)
则多了一项: P 显示此进程使用哪个 CPU 。
Sam 经过试验发现: 同一个进程, 在不同时刻,会使用不同 CPU Core. 这应该是 Linux Kernel
SMP 处理的。
4. 配置 Linux Kernel 使之支持多 Core :
内核配置期间必须启用 CONFIG_SMP 选项,以使内核感知 SMP 。
Processor type and features ---> Symmetric multi-processing support
察看当前 Linux Kernel 是否支持(或者使用) SMP
#uname -a
5. Kernel 2.6 的 SMP 负载平衡:
在 SMP 系统中创建任务时,这些任务都被放到一个给定的 CPU 运行队列中。通常来说,