小条知识:cpu load average解释

cpu load average解释
查看cpu总核数:# cat /proc/cpuinfo|grep processor
查看物理cpu个数:# cat /proc/cpuinfo| grep "physical id"|uniq
查看每个物理cpu核数:# cat /proc/cpuinfo| grep "physical id"|uniq -c
或# cat /proc/cpuinfo| grep "cpu cores"|uniq
查看cpu load:#uptime \ #top \ #cat /proc/loadavg ---->分别显示了过去1min、5min、15min的平均值。5分钟更能代表系统的整体负载情况,如果1分钟的值很高,其他两个值很低,只能说明系统有瞬间的高负载。如果15分钟内,系统的平均负载都很大,表明问题持续存在,不是暂时现象。

running:使用CPU的进程(正在运行进程)。
runnable:等待CPU的进程(等待运行进程)。
uninterruptible sleep:等待磁盘I/O的进程。
 
大致可认为是 :    cpu进程队列中进程的数量(正在运行+等待进程数)
        --------------------------------------------------------------------= cpu load average
          cpu可处理能力的比值(同一时间可处理的进程数)
 
或可认为是:  可运行状态进程(正在运行进程和正在等待CPU的进程,状态为R)
      ----------------------------------------------------------------------------------------------------------=cpu load average
      不可中断状态的进程(正在做某些工作不能被中断比如等待磁盘IO等,其状态为D)
 
cpu load和cpu的核数有关,比如单核cpu可能其同一时间可处理进程的能力数为10,当超过10个时,多余出来的只能处于等待状态,而这部分也算到比值中。
如将一个单核cpu比作大桥,桥上的最大可承载汽车数量为10

 

正常情况下,可以认为单核cpu的load健康值为1,双核或2个单核cpu的load健康值为2。以此类推,

例:在一个单核机器上,load average是"1.73 0.60 7.98",那么可以大致这么解释:
  • 在过去1分钟中,系统负载超额73%。(1.73个运行+等待进程,但是有0.73个进程需要等待)
  • 在过去5分钟中,系统负载有40%空闲
  • 在过去15分钟中,系统负载超额698%。(7.98个运行+等待,但是有6.98个需要等待)

 

posted @   浮~生  阅读(882)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示