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 等
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!