Linux系统中CPU忙闲的衡量——load和idle

风行水上 @ 2013-08-27 12:46:34
标签:

    在Linux系统中,通过top命令可以查看CPU是否忙碌。其中一个数值是"idle",用百分比来衡量;另一个是load,用数值来衡量。

    load

    load的数值可以从文件 "/proc/loadavg" 中得到。

    0.20 0.18 0.12 1/80 11206
    

    数值的含义从坐到右分别是过去1分钟、5分钟、15分钟内CPU的利用率。第四列是当前正在运行的进程数目和总的进程数目。最后一列是最后一个使用CPU的进程ID。

    load是从进程数目的角度衡量CPU的空闲程度。每一个正在RUN的进程或者等待RUN的进程,都会使load的值增加1。

    load的值大于1的意义在于已经有进程在排队等待CPU,这意味着CPU已经开始有点“疲于应付”了。如果是1分钟对应的load值还好,如果是5分钟或者15分钟的load值大于1的话,这可能暗示着潜在的问题。

    对于多核的CPU,需要除以CPU的数目以反映单个CPU的忙闲程度。CPU的数目可以通过文件/proc/cpuinfo得知。

    其他涉及load的命令

    ~ $ uptime
    23:05 up 14 days, 6:08, 7 users, load averages: 0.65 0.42 0.36 
    

    idle

    idle是从时间的角度衡量CPU的空闲程度。

    idel值可以从文件/proc/stat中相关的数值计算得出。

    和idle相关的命令

    • top # 查看当前系统状态
    • mpstat # 多核CPU的idle值
    ~ $ mpstat
    Linux ...
    
    10:02:45 PM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
    10:02:45 PM  all   33.99    0.00    1.44    0.13    0.00    0.05    0.00   64.39   1577.02
    
    

    idle和load的关系

    实践数据表明,基本上单个CPU的load和idle具有很高的相关性。如果load的值大于1,idle的值基本上接近0%;反之如果idle接近于100%,则load值也会很小。

    网络资源

    标签:

      分享到:
      comments powered by Disqus

      26/31ms