上一篇                     
               
			  Linux如何查看指定时段CPU负载?
- Linux
- 2025-06-18
- 3464
 使用
 
 
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 并定期检查日志,以建立长期性能基线。
 
  
			