交互式工具显示的是你观察时正在发生的情况。如果性能下降已经结束,就需要历史监控。sysstat 工具套件会定期收集系统计数器,而 sar 既可以读取当前计数器,也可以读取保存的活动文件。
进程利用率 · 第 7 课
持续监控
了解 sysstat 数据收集和 sar 报告如何支持 Linux 历史性能分析。
启用数据收集
安装发行版提供的 sysstat 软件包后,还要确认其收集器和保留机制已经启用。具体服务、定时器和配置路径会随发行版而变化;安装软件包并不保证数据收集已经开始。
在 systemd 主机上,应检查软件包提供的单元,而不要猜测其名称:
$ systemctl list-unit-files | grep sysstat
$ systemctl list-timers --all | grep sysstat
确认发行版的 sysstat 数据目录中正在创建新的活动文件,并检查文件权限和保留策略。
安装 sysstat 后应该验证什么?
读取当前样本
让 sar 每秒收集一次,共生成三份 CPU 报告:
$ sar -u 1 3
其他常见报告包括运行队列和负载(-q)、内存(-r)、分页(-B)、块设备(-d)以及各 CPU 活动(-P ALL)。选项和字段会随 sysstat 版本而变化,因此应查阅 sar --help 或本机手册。
sar -u 1 3 请求什么?
读取历史文件
保存文件的位置和名称会有差异,通常位于 /var/log/sysstat 或 /var/log/sa 下。使用 -f 传入选定的活动文件:
$ sar -q -f /var/log/sysstat/sa02
应从报告标题确认文件的完整日期;两位数字后缀通常表示某月中的日期,在跨越多个保留周期时可能有歧义。保存的二进制格式也可能要求兼容的 sysstat 版本。
哪个选项让 sar 读取指定的活动文件?
关联分析事故
先确定事故时间和时区,再比较同一时间段内的多个信号。检查负载、CPU、运行队列、分页、设备活动、网络流量和应用延迟的变化。计数器变化表示相关性,但不一定代表因果关系;部署记录和应用日志可能解释触发原因。
数据缺口可能表示主机停机、收集器失败,或数据已被保留策略删除。监控流程本身也要受到监控,以便在事故发生前就能发现证据缺失。
事故复盘时应如何使用历史 sar 数据?
课程已完成
你已完成 持续监控
现在,你可以使用 sar 调查交互式会话之外发生的性能问题。
验证数据收集和保留机制确实处于活动状态。
使用采样间隔和次数获取有界的当前样本。
明确选择历史活动文件。
将多项指标与事故时间和工作负载证据对齐。