Linux高负载需综合分析load average、CPU、内存、IO和进程,重点排查load持续超CPU核数、CPU高但idle高(IO等待)、%wa升高、单进程/线程霸占CPU、Java/Python/数据库进程异常及ksoftirqd/kswapd0异常等场景。

Linux高负载排查不是看一个指标就下结论,关键得看 load average、CPU、内存、IO、进程 这几块有没有“卡点”,再结合时间线和业务特征交叉验证。下面这些是真实运维中最高频的几类场景,照着查,基本能快速定位问题根因。
一看 load average 是否持续高于 CPU 核数
执行 uptime 或 cat /proc/loadavg,重点看 1/5/15 分钟三个值。如果 15 分钟 load 长期 > CPU 总核数(比如 8 核机器 load 长期在 12+),说明系统确实过载。
- load 高但 CPU idle 很高?大概率是 IO 等待(D 状态进程) 或大量不可中断睡眠导致,不是 CPU 真忙
- load 高且 %us/%sy 也高?优先查 CPU 密集型进程,用 top -Hp {pid} 看线程级热点
- load 高但 %wa 显著升高(>30%)?直接跳到 IO 排查环节
二查 CPU 使用是否被单个进程/线程霸占
运行 top,按 Shift+P 按 CPU% 降序,重点关注 %CPU 占比超 200%(多核)或长期 >80% 的进程。
- 看到 java、python、node 进程 CPU 飙高?进进程里用 jstack {pid}(Java)、py-spy record -p {pid}(Python)抓堆栈,看是不是死循环、正则回溯、GC 频繁
- 看到 mysqld、postgres CPU 高?配合 show processlist; 或 pg_stat_activity 查慢查询、锁等待
- 看到 ksoftirqd 或 kswapd0 占 CPU?可能是网络软中断不均(网卡绑定/RCU 压力)或内存严重不足触发频繁换页
三盯内存与 swap 是否拖垮系统
用 free -h 看可用内存是否持续 swpd 列非 0、si/so 持续有数值,就是内存瓶颈信号。
标签: mysql linux python java js node ssl 栈 ai ios 热点
还木有评论哦,快来抢沙发吧~