下面我将为您详细介绍在不同发行版下如何安装、配置和使用 sar。

安装 sysstat 包
sar 命令本身不是一个独立的程序,它是 sysstat 软件包的一部分,我们需要安装 sysstat。
在基于 Debian/Ubuntu 的系统上
使用 apt 包管理器进行安装。
# 更新软件包列表 sudo apt update # 安装 sysstat sudo apt install sysstat
安装过程中,系统可能会提示您是否要启用 sysstat 的数据收集任务,选择 Yes 或 Y 即可。
在基于 Red Hat/CentOS/Fedora 的系统上
使用 yum 或 dnf 包管理器进行安装。

# 对于 CentOS 7, RHEL 7, Fedora 等较新版本 sudo dnf install sysstat # 对于 CentOS 6, RHEL 6 等较老版本 sudo yum install sysstat
安装完成后,sysstat 服务通常会自动启动并设置为开机自启。
在基于 Arch Linux 的系统上
使用 pacman 包管理器。
sudo pacman -S sysstat
安装后需要手动启用并启动 sysstat 服务。
# 启用服务(开机自启) sudo systemctl enable sysstat # 启动服务 sudo systemctl start sysstat
安装后的配置与验证
安装完成后,sysstat 默认是开启数据收集功能的,它会定期(通常是10分钟)收集系统性能数据,并将这些数据保存到 /var/log/sa/ 目录下,以 saDD(sa01, sa02)的形式命名,DD 代表当天的日期。

验证 sysstat 服务状态
确保 sysstat 的核心服务 sysstat 或 datacollector 正在运行。
# 对于使用 systemd 的系统 (Ubuntu 16.04+, CentOS 7+, Fedora, Arch) sudo systemctl status sysstat # 对于使用 SysVinit 的系统 (CentOS 6, Ubuntu 14.04) sudo service sysstat status
如果服务未运行,可以手动启动它:
# 对于 systemd sudo systemctl start sysstat # 对于 SysVinit sudo service sysstat start
验证 sar 命令是否可用
直接在终端输入 sar,如果能看到帮助信息或用法说明,则表示安装成功。
sar
你可能会看到类似下面的输出,提示你如何查看特定数据。
Linux 5.4.0-80-generic (ubuntu-vm) 2025年10月27日 _x86_64_ (2 CPU)
10:30:00 AM CPU %user %nice %system %iowait %steal %idle
10:40:01 AM all 0.50 0.00 0.20 0.05 0.00 99.25
...
检查数据收集是否正常
检查 /var/log/sa/ 目录下是否有数据文件生成。
ls /var/log/sa/
如果看到类似 sa27 (假设今天是27号) 的文件,说明数据收集正常,如果没有,可能需要等待10-15分钟,或者手动手动触发一次数据收集。
sysstat 的核心配置文件
sysstat 的行为由主配置文件 /etc/default/sysstat (Debian/Ubuntu) 或 /etc/sysconfig/sysstat (RedHat/CentOS) 控制。
你可以编辑这个文件来调整数据收集的频率和范围。
sudo nano /etc/default/sysstat
关键配置项:
ENABLED="true":必须设置为true,才能启用数据收集。COLLECTION_INTERVAL=10:数据收集的间隔,单位是分钟,默认是10分钟。HISTORY:这个变量定义了保留历史数据的天数,默认是保留28天的数据,当数据超过这个天数时,旧的文件会被自动删除。
修改配置后,通常需要重启 sysstat 服务使配置生效。
sudo systemctl restart sysstat
sar 命令的基本使用
sar 的强大之处在于它能展示历史数据和实时数据。
查看所有历史报告
直接运行 sar 命令会显示从当前可用数据文件中汇总出的所有报告。
sar
查看特定日期的历史数据
使用 -s (start) 和 -e (end) 选项来指定日期和时间范围。
# 查看昨天 14:00 到 15:00 的 CPU 使用情况 sar -s 2025-10-26 14:00:00 -e 2025-10-26 15:00:00 -u
查看特定类型的数据
sar 通过不同的选项来监控不同的系统资源。
-
CPU 使用率 (
-u)sar -u # 或者更简洁的 sar -u 1 5 # 每秒刷新一次,共刷新5次
-
内存使用情况 (
-r)sar -r
-
I/O 传输速率 (
-b)sar -b
-
网络接口统计 (
-n)sar -n DEV # 查看每个网络设备的流量 sar -n EDEV # 查看每个网络设备的错误
-
进程创建情况 (
-c)sar -c
-
上下文切换情况 (
-w)sar -w
-
磁盘空间使用情况 (
-F)sar -F
查看实时数据
使用 sar 1 5这样的格式,可以像top命令一样实时监控系统活动。1表示每秒刷新一次,5` 表示共刷新5次。
# 实时查看CPU使用率,每秒刷新,共10次 sar -u 1 10
常见问题排查
问题:sar 命令提示 "No data found" 或 "WARNING: /var/log/sa/saXX does not exist"
原因: 这通常是因为 sysstat 服务没有正常启动,或者数据收集功能被禁用,导致 /var/log/sa/ 目录下没有生成数据文件。
解决方案:
- 检查服务状态: 确认
sysstat服务正在运行。sudo systemctl status sysstat
- 检查配置文件: 确认
/etc/default/sysstat或/etc/sysconfig/sysstat文件中的ENABLED设置为"true"。 - 手动触发数据收集: 如果服务已运行但数据文件为空,可以手动运行
sa1命令来生成一个数据文件。# sa1 选项用于收集并记录单个数据点 # 此命令会立即生成一个当前时间的 sa 文件 sudo sa1 1 1
然后再检查
/var/log/sa/目录,应该会有新的文件生成。
- 安装:
sudo apt install sysstat(Debian/Ubuntu) 或sudo yum install sysstat(RHEL/CentOS)。 - 验证:
sar命令可用,sysstat服务正在运行,/var/log/sa/目录下有数据文件。 - 配置: 编辑
/etc/default/sysstat或/etc/sysconfig/sysstat调整收集频率和保留天数。 - 使用:
sar查看历史,sar 1 5查看实时,sar -u查看CPU,sar -r查看内存等。
通过以上步骤,您就可以成功安装并使用 sar 这个强大的系统性能分析工具了。
