sar(System Activity Reporter)是 Linux 系统下一个强大的性能监控工具,属于 sysstat 工具包的一部分。它能够收集、报告和保存系统的各种活动信息,包括:
在大多数 Linux 发行版中,sar 命令需要通过安装 sysstat 包来获取:
# Ubuntu/Debian sudo apt-get install sysstat # CentOS/RHEL sudo yum install sysstat # Fedora sudo dnf install sysstat
安装后需要启用数据收集服务:
默认情况下,sar 每10分钟收集一次数据,并保存在
/var/log/sysstat/目录下。
sar [选项] [间隔时间] [次数]
| 参数 | 说明 |
|---|---|
| -A | 显示所有报告 |
| -u | 显示 CPU 利用率 |
| -r | 显示内存使用情况 |
| -b | 显示 I/O 和传输速率统计 |
| -n DEV | 显示网络设备统计 |
| -q | 显示系统负载和队列长度 |
| -d | 显示磁盘活动 |
| -P ALL | 显示每个 CPU 的统计 |
| -s | 指定开始时间 |
| -e | 指定结束时间 |
| -f | 从指定文件读取数据 |
输出示例:
Linux 5.4.0-91-generic (hostname) 03/15/2025 _x86_64_ (4 CPU) 10:30:01 AM CPU %user %nice %system %iowait %steal %idle 10:30:03 AM all 5.12 0.00 1.02 0.51 0.00 93.35 10:30:05 AM all 6.23 0.00 1.34 0.23 0.00 92.20
| 指标 | 含义 | 健康范围 |
|---|---|---|
| %user | 用户空间CPU使用率 | |
| %system | 内核空间CPU使用率 | |
| %iowait | CPU等待I/O时间 | |
| %idle | CPU空闲时间 | >20% |
| 指标 | 含义 |
|---|---|
| kbmemfree | 空闲物理内存(KB) |
| kbmemused | 已用物理内存(KB) |
| %memused | 内存使用率 |
| kbbuffers | 缓冲区使用的内存(KB) |
| kbcached | 缓存使用的内存(KB) |
| 指标 | 含义 |
|---|---|
| tps | 每秒传输次数 |
| rd_sec/s | 每秒读取的扇区数 |
| wr_sec/s | 每秒写入的扇区数 |
| %util | 设备利用率 |
如果
%user或
%system持续高于80%,可能表明:
当以下情况同时出现时,可能存在内存不足:

%memused持续高于90%
kbcached值很低
kbswpused)使用量高
%iowait高和磁盘
%util高表明: