top
或htop
实时监控,或通过sar -u
查看历史数据(需安装sysstat),执行sar -u 5 3
可每5秒采样一次、共3次显示CPU使用率,包含用户态、内核态及空闲百分比。在Linux系统中,查看一段时间内的CPU负荷是性能监控和故障排查的关键操作,以下是几种专业、可靠的方法,结合系统工具和日志分析,确保数据的准确性和实用性:
使用 sar
命令(推荐)
sar
(System Activity Reporter)是 sysstat
工具包的核心组件,专门用于收集和报告历史系统负载数据,适合分析时间范围内的CPU使用率。
步骤:
-
安装
sysstat
(若未安装):sudo apt install sysstat # Debian/Ubuntu sudo yum install sysstat # CentOS/RHEL
安装后,系统会自动每10分钟收集一次数据(通过
/etc/cron.d/sysstat
)。 -
查看特定时间段的CPU负荷:
sar -u -s 10:00:00 -e 12:00:00 # 查看10:00到12:00的整体CPU使用率
输出示例:
11:00:01 AM CPU %user %nice %system %iowait %idle 11:10:01 AM all 25.32 0.01 5.12 1.23 68.32 11:20:01 AM all 30.45 0.02 6.01 0.98 62.54
- 关键指标:
%user
:用户进程占用CPU百分比。%system
:内核进程占用百分比。%idle
:CPU空闲百分比。%iowait
:等待I/O操作的百分比(值过高可能表示磁盘瓶颈)。
- 关键指标:
-
查看某一天的日志:
sar -u -f /var/log/sysstat/sa25 # 分析25号的数据(日志路径因系统而异)
使用 mpstat
命令
mpstat
(同属 sysstat
工具包)提供多核CPU的详细统计,支持按时间间隔采样。
示例:
mpstat -P ALL 5 60 # 每5秒采样一次,共60次(5分钟),并显示所有CPU核心
输出关键项:
%usr
:用户空间占用。%sys
:内核空间占用。%iowait
:I/O等待。%idle
:空闲率。
使用 vmstat
命令
vmstat
提供简化的系统资源概览,适合快速检查。
示例:
vmstat 10 30 # 每10秒采样一次,共30次(5分钟)
输出解析:
r
列:运行队列长度(若持续>CPU核心数,表示CPU饱和)。us
/sy
/id
:分别对应用户态、内核态、空闲CPU百分比。
结合 top
或 htop
实时监控
虽然 top
是实时工具,但可通过日志重定向记录一段时间的数据:
top -b -d 10 -n 60 > cpu_log.txt # 每10秒采样,共60次(10分钟),结果保存到文件
用 grep
分析日志:
grep "Cpu(s)" cpu_log.txt # 提取所有CPU摘要行
自定义脚本监控
通过Shell脚本定期记录数据(无需 sysstat
):
#!/bin/bash end=$((SECONDS+300)) # 监控5分钟 while [ $SECONDS -lt $end ]; do echo "$(date '+%H:%M:%S') $(top -bn1 | grep "Cpu(s)")" >> cpu_usage.log sleep 10 done
运行后,cpu_usage.log
将包含时间戳和CPU负载快照。
如何选择最佳方法?
场景 | 推荐工具 | 优势 |
---|---|---|
分析历史数据(如昨日) | sar |
自动归档,支持灵活时间范围查询 |
实时多核监控 | mpstat |
按核心详细统计 |
快速资源概览 | vmstat |
轻量级,同时显示内存/进程状态 |
临时诊断 | top + 日志 |
无需安装额外工具 |
注意事项
sysstat
数据存储:- 日志路径:
/var/log/sysstat/saXX
(XX为日期)。 - 数据保留时长由
/etc/sysstat/sysstat
中的HISTORY
参数控制(默认28天)。
- 日志路径:
- 高负载诊断:
- 若
%idle
持续低于 10%,表示CPU资源紧张。 %iowait
高于 15% 可能暗示磁盘I/O瓶颈。
- 若
- 权限要求:访问历史日志需
root
或sudo
权限。
引用说明
sar
、mpstat
文档:参考man sar
或 sysstat官方文档。- Linux性能监控标准:基于《Systems Performance: Enterprise and the Cloud》方法论(Brendan Gregg著)。
- 数据安全建议:操作符合Linux审计规范,不影响系统稳定性。
通过上述方法,可精准定位CPU瓶颈,优化系统性能,建议优先部署 sysstat
并定期检查日志,以建立长期性能基线。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/28895.html