Linux负载高需先结合CPU核心数判断是否真超标,再通过top查%Cpu(s)、r/b值及进程排序定位瓶颈类型,最后用perf、iostat、free等工具深入分析根因。

Linux系统负载高,不能只盯着load average数字猛看。关键要分清:是CPU真忙?还是进程在等磁盘或网络?又或者内存吃紧导致频繁换页?排查得有顺序、有重点、有依据。
别一看到 load 5 就慌。得结合 CPU 核心数判断:
nproc 或 grep -c 'processor' /proc/cpuinfo 查清当前有多少逻辑 CPUuptime 或 cat /proc/loadavg 看三个值(1/5/15 分钟)打开 top,第一眼盯三处:
%Cpu(s) 行:看 us(用户态)和 sy(内核态)是否持续高于 70%;若 wa(IO wait)> 20%,大概率是磁盘卡住r 和 b 列(按 1 键可展开):r 值长期大于 CPU 核数 → CPU 队列满;b > 0 → 有进程在不可中断睡眠(常因 IO)P 按 CPU 排序,按 M 按内存排序,一眼揪出“带头大哥”根据上一步线索,选对应命令深挖:
perf top -p PID 或 strace -p PID 看进程到底在执行什么系统调用或热点函数iostat -x 1 5 看 %util 和 await;再用 iotop 找出真正刷盘的进程free -h 看 available 是否极少;cat /proc/meminfo | grep -E "Swap|Oom" 看是否在疯狂换页或触发 OOMss -s 看连接总数和状态分布;netstat -s | grep -i "retransmit\|drop" 查重传或丢包异常如果高负载进程是 Java 应用,别只停在 top 层面:
top -Hp PID 找出最耗 CPU 的线程 ID(TID)printf "%x\n" TID
jstack PID | grep -A10 HEX_TID 定位线程堆栈,看是不是死循环、锁竞争或 Full GC 频繁jstat -gcutil PID 1000 观察 GC 频率和耗时基本上就这些。顺序别乱:看负载 → 看 top 总体指标 → 分方向查 → 锁定进程 → 深挖根因。不复杂但容易忽略的是——别跳过 CPU 核数这个分母,也别把 load 高直接等同于 CPU 高。
以上就是Linux高负载如何排查_操作步骤详解提升实战能力【指导】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号