【Linux】Linux 系统负载查看与瓶颈判断运维手册
📅 2026/7/29 21:34:58
👁️ 阅读次数
📝 编程学习
一、系统负载核心概念
Linux 系统负载(Load Average)是衡量系统整体繁忙程度的核心指标,它表示当前正在运行以及等待运行的进程总数。
负载高低不直接等于 CPU 使用率,还包含磁盘 IO 等待、不可中断进程等待,是系统整体繁忙度的综合指标。
负载三个数值含义(从左到右):1分钟、5分钟、15分钟平均负载
- 1分钟负载:反映瞬时波动
- 15分钟负载:反映系统持续压力(运维告警核心参考值)
二、查看系统负载基础命令
# 最简单查看负载uptime# 综合查看负载、在线用户、系统运行时间w# 实时查看负载、CPU、内存、进程(最常用)top三、查看服务器CPU核心数(负载判断依据)
负载高低必须结合CPU逻辑核数判断,裸看负载数值无意义。
# 统计逻辑CPU总核心数N=`grep-cprocessor /proc/cpuinfo`四、系统负载分级标准
五、高负载两大核心场景:区分CPU忙 / 磁盘IO忙
系统负载高只有两种核心原因:CPU算力瓶颈 或 磁盘IO瓶颈,通过 top 命令可快速区分。
1、CPU繁忙导致高负载
核心特征:
- top 中 us/sy(用户/内核CPU占用)很高
- id(CPU空闲率)极低
- wa(IO等待)接近 0
排查命令:定位耗CPU进程
# 按CPU使用率排序查看进程top# 查看CPU占用TOP10进程ps-aux--sort=-%cpu|head-10常见原因:程序运算量大、死循环、Java频繁GC、批量编译/解压任务
2、磁盘IO繁忙导致高负载
核心特征:
- top 中 wa(iowait) 数值>10%(极高)
- id(CPU空闲率)很高,CPU本身不忙
- 负载很高,但无高占用CPU进程
排查命令:查看磁盘IO状态
# 查看磁盘整体IO负载、繁忙度iostat-x21# 每秒采样一次,共输出2次查看具体哪个系统进程在疯狂读写磁盘iotop-obP-d1-n2关键指标:
- %util:接近100% = 磁盘打满、IO瓶颈
- await:IO等待时间越长,系统阻塞越严重
常见原因:MySQL大量读写/全表扫描、日志刷屏、文件批量拷贝、内存不足频繁Swap交换
六、内存间接导致高负载
内存不足会触发系统频繁使用Swap分区,引发磁盘IO飙升、负载拉高。
# 查看内存、Swap使用情况free-h七、一键系统负载完整排查命令
#!/bin/bashecho"========== 系统负载信息 =========="uptimeecho-e"\n========== CPU整体状态 =========="top-b-n1|grepCpuecho-e"\n========== 磁盘IO整体状态 =========="# 采样间隔2秒,只输出1次iostat-x21echo-e"\n========== IO占用最高进程TOP10 =========="iotop-obP|head-10echo-e"\n========== 内存与Swap状态 =========="free-h
编程学习
技术分享
实战经验