在Linux系统中,sar(System Activity Reporter)是sysstat软件包中的一个核心工具,用于收集、报告和保存系统活动的各种信息,包括CPU使用率、内存分配、磁盘I/O、网络性能等,要使用sar命令,首先需要确保sysstat软件包已正确安装,以下是详细的安装步骤、配置方法及使用示例,帮助您全面掌握sar命令的安装与使用。

确认系统环境与安装前准备
在安装sysstat之前,建议先确认当前系统的发行版信息,因为不同发行版的包管理器不同。
- 基于Debian/Ubuntu的系统使用
apt
; - 基于RHEL/CentOS的系统使用
yum
或dnf
; - 基于Arch Linux的系统使用
pacman
。
确保系统有足够的权限执行安装操作(通常需要root或sudo权限),并检查网络连接是否正常,以便从软件源下载包。
安装sysstat软件包
基于Debian/Ubuntu的系统
在Ubuntu或Debian系统中,可以通过以下命令安装sysstat:
sudo apt update sudo apt install sysstat
安装完成后,sysstat服务会自动启动,并开始定期收集系统数据,默认情况下,数据收集间隔为10分钟,并保留最近的数据文件。

基于RHEL/CentOS的系统
对于CentOS 7或RHEL 7及更高版本,使用dnf
命令:
sudo dnf install sysstat
对于CentOS 6或RHEL 6及更早版本,使用yum
命令:
sudo yum install sysstat
安装完成后,需要手动启动sysstat服务并设置开机自启:
sudo systemctl enable --now sysstat
基于Arch Linux的系统
在Arch Linux中,使用pacman
命令安装:

sudo pacman -S sysstat
安装后需启用并启动sysstat
服务:
sudo systemctl enable --now sysstat.service
从源码编译安装
如果需要从源码编译安装(例如定制功能),可以按照以下步骤操作:
- 下载源码包(从官方源或GitHub):
wget https://github.com/sysstat/sysstat/archive/refs/tags/v12.5.4.tar.gz tar -xzf v12.5.4.tar.gz cd sysstat-12.5.4
- 编译并安装:
./configure make sudo make install
- 初始化配置文件:
sudo mkdir -p /var/log/sa sudo /usr/libexec/sysstat/sa1 1 1 sudo /usr/libexec/sysstat/sa2 -A
配置sysstat
sysstat的配置文件通常为/etc/sysconfig/sysstat
(RHEL/CentOS)或/etc/default/sysstat
(Debian/Ubuntu),以下是常见配置项:
ENABLED="true"
:启用数据收集;COLLECTION_DELAY=10
:数据收集间隔(分钟);HISTORY=28
:保留数据文件的天数;COMPRESSAFTER=7
:压缩超过指定天数的数据文件。
修改配置后,需重启sysstat服务使配置生效:
sudo systemctl restart sysstat
sar命令的使用示例
安装完成后,可以通过sar
命令查看系统活动数据,以下是常用选项及示例:
查看CPU使用率
sar -u 1 5 # 每秒采样一次,共采样5次
输出示例:
Linux 5.4.0-91-generic (ubuntu) 10/15/2023 _x86_64_ (2 CPU)
12:00:01 PM CPU %user %nice %system %iowait %steal %idle
12:00:02 PM all 1.00 0.00 1.00 0.00 0.00 98.00
查看内存使用情况
sar -r 1 3 # 每秒采样一次,共采样3次
输出示例:
12:00:01 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
12:00:02 PM 1234567 8765432 41.23 123456 2345678 3456789 15.67
查看磁盘I/O统计
sar -b 1 3 # 每秒采样一次,共采样3次
输出示例:
12:00:01 PM tps rtps wtps bread/s bwrtn/s
12:00:02 PM 12.34 5.67 6.67 1024.56 2048.90
查看网络接口统计
sar -n DEV 1 3 # 每秒采样一次,共采样3次
输出示例:
12:00:01 PM IFACE rxpck/s txpck/s rxkB/s txkB/s
12:00:02 PM eth0 123.45 98.76 45.67 32.10
查看历史数据
sar -f /var/log/sa/sa15 # 查看指定日期的数据文件
数据文件管理
sysstat默认将数据保存在/var/log/sa/
目录下,文件名为saDD
(DD为当月日期)。sa15
表示15号的数据,可以通过以下命令管理数据文件:
- 查看数据文件列表:
ls /var/log/sa/
- 删除旧数据文件:
sudo find /var/log/sa/ -name "sa*" -mtime +30 -delete # 删除30天前的文件
常见问题与解决
问题1:sar命令提示“command not found”
原因:sysstat未安装或未添加到PATH环境变量。
解决:确认安装sysstat,并检查/usr/bin/sar
是否存在,或使用which sar
查看路径。
问题2:sar显示无数据或数据不完整
原因:sysstat服务未启动或配置错误。
解决:检查服务状态(systemctl status sysstat
),确保ENABLED
为true
,并重启服务。
相关问答FAQs
Q1:如何修改sar的数据收集间隔?
A:编辑sysstat配置文件(如/etc/sysconfig/sysstat
),修改COLLECTION_DELAY
参数为所需间隔(单位为分钟),然后重启服务即可生效。
Q2:sar数据文件过大如何清理?
A:可以通过/etc/sysconfig/sysstat
中的HISTORY
参数控制保留天数,或手动使用find
命令删除旧文件,例如sudo find /var/log/sa/ -name "sa*" -mtime +30 -delete
删除30天前的数据。