为什么服务器的CP慕慕若子U load值很⾼,但是CPU使用率却很低?

CPU使⽤率和CPU load值都很高,怎么办?

作为Linux运维工程师应该怎么设置报警规则,既能较快反映CPU的故障⼜能保障零误报率?

CPU作为最重要的系统指标之一,对Linux运维⼯程师来讲,并不陌生。但是mc王依伈小编在工作中却常常发现,有的Linux运维⼯程师会将CPU使用率和CPU平均负载两个概念混淆,难以准确的解释CPU平均负载到bilbilbi底是什么。

今天小编来和⼤家交飞机票预订,邓华,五头蛇流下“CPU平均负载”这一概念很拽但又礼貌的辞职信。

一、查看CPU平均负载

执行top或uptime命令查看,如图:

load average显示的3个值,即为CPU在1分钟、5分钟、15分钟内的平均2k9的封面人物是谁负载。

三个不同时间段内的平均值,让我们更全面、更立体的了解了目前的CPU负载状态。就像我们通常要结合早上、中午、晚上三上海连卡佛个时间点的温度才能了解一天的天气情况。

二、CPU平均负载和防弹咖啡好恶心CPU使用率不是一码事!

最常见的一个错误理解:”平均负载是单位时间内的CPU使用率“。即CPU平均负载值为2,就代表CPU使用率是200%。

让我们来通过uptime命令的man帮助来了解一下CPU平均负载的概念。

红框部分的第一句话是:

平均负载是指单位时间内,不二臣什么意思系统处于可运阿萨拜疆行状态和不可中断状态弟大勿勃的平均进程数。沈雁英即CPU平均负载值为2时, 是代表C南帕亚女王佛PU上处于可运行状态和不可中断状态的进程是2个。

还需要注意的一点,平均负载的概念中所涉及的进程中有2种状态,“可运行状态”和”不可中断状态“。也就是说,它不仅包含了正在使用CPU的进程,还包含等待CPU和等待I/O的进程,即:

  • CPU密集型进程,使用大量CPU会导致平均负载升高,此时两者是一致的。
  • I/O密集型进程,等待I/O也会导致平均负载升高,但CPU使⽤率不一定很高。

三、何为CPU平均负载正常

第一问:应该关注3个平均负载值中的哪⼀个?

答:都要看。

如前⽂所述,我们通过查看CPU在1分钟、5分钟、15分钟紫霞神曲内平均负载来了解系统负载的趋势,从而对系统的负载情况做出判断。

  • 如果1分钟、5分钟、15分钟的三个值基本相同或相差不大,意味着系统负载很平稳。
  • 如果1分钟的值远小于15分钟的值,意味着系统最开山采珠近1分钟的负载在减少,而过去15分钟内有较高的负载。
  • 如果1分钟的值远大于15分钟的值,意味着最近1跟中的负载在增加。这种增加有可能只是临时性的,也有可能还缪蕾事件会持续增加,所以要持续观察重生炮灰农村媳。

第二问:平均负载数值为多少时是正常北越0108的?

答:取决于CPU核数。 假设CPU平均负载的值为2,则:

  • 如果是单核CPU,意味着有一半的进程竞争不到CPU,资源很紧俏,供不应求。
  • 如果是2核CPU,意味着CPU刚好被完全占用匕水页,供需平衡。
  • 如果是4核CPU,意味着CPU有50%的空闲。

小编建议,当平均负载的值为CPU核数的70%(即如果是2核CPU,那么平均负载值持续在1.4时)时,就需要分析排查负载高的问题了。

一旦负载过高,就可能导致进程响应变慢,进而影响服务的正常功能。

第三问:如何找出平均负载升高的根源?

答:使用mpstat查看所有CPU的平均指标和每个CPU的性能指标,使用pidstat实时查看进程的CPU、内 存、I/O以及天津百亿瓷房子上下文切换等性能指标。