sar 能做什么
sar 属于 sysstat 工具集,读取每日采集的性能数据文件回看历史:-u 看 CPU、-r 看内存、-d 看磁盘、-n DEV 看网络。它既能实时采样,也能查过去某天某时段的状况,是事后复盘最有力的手段。前提是 sysstat 的采集已开启并在 /var/log/sa 下沉淀了数据。
基本信息
| 所属包 | sysstat(RPM 系与 DEB 系同包名) |
|---|---|
| 历史文件 | /var/log/sa/saDD |
| 实时采样 | sar 1 5 |
| 常用维度 | -u CPU、-r 内存、-d 磁盘、-n DEV 网络 |
| 读取工具 | sar、sadf |
典型使用场景
- 用户报障说昨天下午卡,回看当时的资源曲线
- 验证优化效果:对比调整前后的同时段数据
- 容量评估:按周或月的趋势判断是否需要扩容
- 故障复盘:确认是否出现内存换页或磁盘饱和
- 建立性能基线,作为后续异常的判断依据
使用示例
使用示例
dnf install -y sysstat && systemctl enable --now sysstat # 安装并开启采集
sar -u 1 5 # 实时看 CPU,每秒一次共五次
sar -u -f /var/log/sa/sa$(date +%d) # 看当天的 CPU 历史
sar -r -f /var/log/sa/sa12 # 看某天的内存历史
sar -d -f /var/log/sa/sa12 | head -30 # 看某天的磁盘压力
sar -n DEV -f /var/log/sa/sa12 | head -30 # 看某天的网络流量
ls /var/log/sa/ # 确认历史文件是否存在常用维度
| 选项 | 监控对象 | 关注点 |
|---|---|---|
| -u | CPU 使用率 | us、sy 与 wa 的构成 |
| -r | 内存与缓存 | 可用内存与换页情况 |
| -d | 块设备 | 读写速率与设备利用 |
| -n DEV | 网络接口 | 收发速率与包量 |
| -q | 系统负载与队列 | 运行队列长度变化 |
| -W | 换页统计 | 换入换出是否异常 |
历史数据按天存为 saDD 二进制文件,需用 sar 或 sadf 读取;采集周期与保留策略由 sysstat 服务或计划任务配置决定。
部分发行版默认关闭采集(DEB 系看 /etc/default/sysstat 的 ENABLED 取值);发现 /var/log/sa 下没有文件时,先确认采集是否真的开启。
采集前提检查
- 确认 sysstat 软件包已安装
- 确认采集服务或计划任务已启用
- 确认历史目录中存在当天的数据文件
- 确认保留天数能覆盖复盘需求
- 确认各主机时区一致,便于对齐时间