Linux高负载需结合CPU核心数判断是否真过载,再通过uptime、top、iostat、vmstat等工具区分CPU型、I/O型或混合型问题,逐层定位进程、线程及隐藏干扰项。

Linux高负载不能只看uptime里那三个数字,得结合CPU核心数判断是否真过载,再分方向快速锁定是CPU、内存、磁盘IO还是网络拖了后腿。
运行uptime或cat /proc/loadavg,拿到1/5/15分钟平均负载。关键不是数字本身,而是和CPU核心数比:
grep -c 'processor' /proc/cpuinfo 或 nproc
同一高负载,原因可能截然不同:
mpstat -P ALL 1显示某核持续95%+,vmstat中us+sy占比大,wa很低iostat -x 1中%util接近100%,vmstat中wa常超30%,r队列长度持续≥4pidstat -u 1 -d 1同时看进程CPU和IO,找双高进程找到“罪魁”才能对症下药:
ps -eo pid,ppid,%cpu,%mem,cmd --sort=-%cpu | head -10
ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%mem | head -10
iotop -o(只显示实际在读写的进程)top -H -p $PID找高耗线程,再用jstack $PID看堆栈
ls -l /proc/$PID/exe 或 cat /proc/$PID/cmdline
有些问题不在进程表里,却实实在在推高负载:
df -h 和 df -i(inode耗尽也会卡死)crontab -l 和 systemctl list-timers --all
dmesg -T | tail -30 看OOM、硬件错误或时间跳变ss -s 查总连接数,nethogs 看实时带宽归属lsof -n | awk '{print $2}' | sort | uniq -c | sort -nr | head
基本上就这些。不复杂但容易忽略——尤其是把load avg和CPU使用率混为一谈,或者只盯top不看iostat。养成先判类型、再锁进程、最后查上下文的习惯,排查效率能翻倍。
以上就是Linux高负载如何排查_关键技巧整理帮助提高效率【技巧】的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号