SAR(System Activity Report,系统活动报告)是Unix/Linux系统中用于监控和报告系统性能的一个重要工具。它能够收集、报告以及保存系统活动信息,包括CPU使用率、内存使用情况、I/O统计、网络吞吐量等关键指标。
SAR由sysstat软件包提供,该软件包还包含其他一些有用的工具,如iostat
(用于报告CPU和I/O统计数据)和mpstat
(用于报告每个处理器的详细信息)。通过SAR,管理员可以深入了解系统的运行状态,并据此进行优化或故障排查。
在大多数Linux发行版中,SAR并不是默认安装的。需要手动安装sysstat软件包。以下是几个常见Linux发行版的安装方法:
sudo apt-get update
sudo apt-get install sysstat
sudo yum install sysstat
安装完成后,确保sar服务已启动并配置为开机自启:
sudo systemctl start sysstat
sudo systemctl enable sysstat
SAR提供了丰富的选项来查看不同类型的系统活动数据。以下是一些常用的命令及其功能:
sar -u 2 5
-u
:显示CPU使用情况。2
:每2秒采样一次。5
:总共采样5次。输出示例:
Linux 4.15.0-70-generic (ubuntu) 10/18/2023 _x86_64_ (4 CPU)
12:00:01 PM CPU %user %nice %system %iowait %steal %idle
12:00:03 PM all 1.01 0.00 0.20 0.00 0.00 98.79
12:00:05 PM all 1.10 0.00 0.22 0.00 0.00 98.68
sar -r 2 5
-r
:显示内存使用情况。sar -d 2 5
-d
:显示块设备(磁盘)的I/O活动。sar -n DEV 2 5
-n DEV
:显示网络接口的统计信息。为了长期监控系统性能,通常会配置SAR定时采集数据。这可以通过编辑/etc/cron.d/sysstat
文件实现。例如,设置每10分钟记录一次数据:
*/10 * * * * root /usr/lib/sysstat/sa1 1 1
历史数据存储在/var/log/sa/
目录下,以sarDD
命名,其中DD
表示日期。
要分析过去某一天的数据,可以使用-f
选项指定数据文件。例如:
sar -u -f /var/log/sa/sar18
这条命令将显示18日的CPU使用情况。
SAR虽然强大,但有时需要与其他工具结合使用以获得更全面的系统视图。例如,与vmstat
结合可以更好地了解虚拟内存状态;与top
结合可以实时查看进程资源占用情况。