在Linux系统中,经过top
命令能够查看CPU是否忙碌。其中一个数值是"idle",用百分比来衡量;另外一个是load,用数值来衡量。html
load的数值能够从文件 "/proc/loadavg" 中获得。linux
0.20 0.18 0.12 1/80 11206
数值的含义从坐到右分别是过去1分钟、5分钟、15分钟内CPU的利用率。第四列是当前正在运行的进程数目和总的进程数目。最后一列是最后一个使用CPU的进程ID。网络
load是从进程数目的角度衡量CPU的空闲程度。每个正在RUN的进程或者等待RUN的进程,都会使load的值增长1。app
load的值大于1的意义在于已经有进程在排队等待CPU,这意味着CPU已经开始有点“疲于应付”了。若是是1分钟对应的load值还好,若是是5分钟或者15分钟的load值大于1的话,这可能暗示着潜在的问题。ide
对于多核的CPU,须要除以CPU的数目以反映单个CPU的忙闲程度。CPU的数目能够经过文件/proc/cpuinfo
得知。ui
~ $ uptime23:05 up 14 days, 6:08, 7 users, load averages: 0.65 0.42 0.36
idle是从时间的角度衡量CPU的空闲程度。spa
idel值能够从文件/proc/stat
中相关的数值计算得出。.net
top # 查看当前系统状态code
mpstat # 多核CPU的idle值orm
~ $ mpstat Linux ...10:02:45 PM CPU %user %nice %sys %iowait %irq %soft %steal %idle intr/s10:02:45 PM all 33.99 0.00 1.44 0.13 0.00 0.05 0.00 64.39 1577.02
实践数据代表,基本上单个CPU的load和idle具备很高的相关性。若是load的值大于1,idle的值基本上接近0%;反之若是idle接近于100%,则load值也会很小。
转自:http://noyesno.net/page/linux/20130827-420.html