Linux系统负载

怎么分析理解 uptime 以及top 中的cpu  Load Average

 最后三个数字依次表是过去 1 分钟、5 分钟、15 分钟的平均负载(Load Average)

 Load Average:什么意思呢??---->是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系

  不可中断状态的进程则是正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如最常见的是等待硬件设备的 I/O 响应,也就是我们在 ps 命令中看到的 D 状态(Uninterruptible Sleep,也称为 Disk Sleep)的进程

平均活跃进程数:如果每个 CPU 上都刚好运行着一个进程,这样每个 CPU 都得到了充分利用,

那是不是平局负载为1 表示cpu刚好满足呢??答案是:要考虑多核cpu----------

比如当平均负载为 2 时,

  • 在只有 2 个 CPU 的系统上,意味着所有的 CPU 都刚好被完全占用。
  • 在 4 个 CPU 的系统上,意味着 CPU 有 50% 的空闲。
  • 在只有 1 个 CPU 的系统中,则意味着有一半的进程竞争不到 CPU。

系统负荷的经验法则

 

1.0是系统负荷的理想值吗?不一定,系统管理员往往会留一点余地,一般临界值为0.7

 

当系统负荷持续大于0.7,你必须开始调查了,问题出在哪里,防止情况恶化。

 

当系统负荷持续大于1.0,你必须动手寻找解决办法,把这个值降下来。

 

当系统负荷达到5.0,就表明你的系统有很严重的问题,长时间没有响应,或者接近死机了。不应该让系统达到这个值

平均负载与 CPU 使用率

平均负载代表的是活跃进程数,那平均负载高了,是不是意味着 CPU 利用率飙高???

CPU 密集型进程,使用大量 CPU 会导致平均负载升高,CPU使用率会飙高;

I/O 密集型进程,等待 I/O 也会导致平均负载升高,但 CPU 使用率不一定很高;

大量等待 CPU 的进程调度也会导致平均负载升高,此时的 CPU 使用率也会比较高。

此时排查工具一般都会使用pidstat 等

   参考:https://scoutapm.com/blog/understanding-load-averages

posted @   codestacklinuxer  阅读(170)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示