Linux 系统性能监控工具集sysstat之sar(一)

原创不易,本文涉及sar内容较多,分成几个部分发布。

上一篇:Linux 系统性能监控工具集sysstat之pidstat

sysstat 是 Linux 系统性能监控工具集,包含 sar、iostat、mpstat、pidstat 等核心组件,可实时或历史分析 CPU、内存、磁盘 I/O、网络等资源的使用情况。sar是历史性能数据分析的利器。它通过周期性采集系统指标并保存到日志文件中,支持分析过去某个时间点的性能状态。本文通过一些典型应用实例来讲解下sar这个工具是用法。

sysstat工具集安装方法:

apt install sysstat -y


1、用途介绍

sar具有历史性能回溯,可以回溯查看过去某天、某小时某时刻的系统指标(CPU、内存、磁盘、网络等)。

通过历史数据建立系统正常负载的基线数据,用于异常波动时的对比。

其结合多维度数据(如高 CPU 时伴随的磁盘 I/O 或网络负载)定位性能瓶颈,通过长期趋势预测硬件资源是否需要扩容。


2、历史数据存储及配置文件说明

sar的默认存储 /var/log/sysstat/ 目录下,打开目录会看到saXX,XX表示日期譬如sa24表示24号的数据。采集间隔为默认10分钟采集一次,保留时长默认为7天。

sysstat的配置文件在 /etc/sysstat/sysstat文件中

cat sysstat | grep -vE '^#|^#39;

参数解释:

HISTORY=7 表示历史数据可以保存7天。

SA_DIR=/var/log/sysstat 历史数据存放位置。

COMPRESSAFTER=10 指定日志文件在多少天后进行压缩。

SADC_OPTIONS="-S DISK" 配置 sadc(系统活动数据收集器)的 选项。-S 表示收集指定的子系统数据,DISK 表示启用 磁盘 I/O 统计(默认可能不收集磁盘数据)。-S DISK 会启用磁盘读写、I/O 等待时间等详细监控。

ZIP="xz" 指定用于压缩数据的压缩方案

UMASK=0022 设置生成日志文件的 默认权限。


3、实例分析

(1)查看 CPU 历史负载

sar -u -f /var/log/sysstat/sa24 | more #分屏查看24号数据

输出字段:

%user:用户态 CPU 使用率。

%system:内核态 CPU 使用率。

%iowait:CPU 等待 I/O 的时间占比。

%idle:CPU 空闲时间。

%nice:在 低优先级(nice 值 > 0) 下运行用户态程序的时间占比。

%steal:在虚拟化环境中,CPU 被其他虚拟机占用的时间占比。物理机通常为 0。

应用场景:

I/O瓶颈:通过观察 %iowait 是否飙升(可能磁盘 I/O 瓶颈或者网络性能问题)。

基线对比:对比工作日和周末的 %user 差异,评估业务负载特征。

CPU瓶颈:如果 %user + %system 持续高于 80%,说明 CPU 负载较高,可能需优化程序或扩容。

虚拟化性能:%steal 高表示虚拟机被宿主机抢占资源,需检查虚拟化层的资源分配。

空闲资源:%idle 长期高于 80% 可能表示 CPU 资源未被充分利用。


下一篇:使用sar监控内存与磁盘I/O情况

Linux 系统性能监控工具集sysstat之sar(二)

原文链接:,转发请注明来源!