菜鸟科技网

sar命令如何安装?

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

sar命令如何安装?-图1
(图片来源网络,侵删)

安装 sysstat

sar 命令本身不是一个独立的程序,它是 sysstat 软件包的一部分,我们需要安装 sysstat

在基于 Debian/Ubuntu 的系统上

使用 apt 包管理器进行安装。

# 更新软件包列表
sudo apt update
# 安装 sysstat
sudo apt install sysstat

安装过程中,系统可能会提示您是否要启用 sysstat 的数据收集任务,选择 YesY 即可。

在基于 Red Hat/CentOS/Fedora 的系统上

使用 yumdnf 包管理器进行安装。

sar命令如何安装?-图2
(图片来源网络,侵删)
# 对于 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/ 目录下,以 saDDsa01, sa02)的形式命名,DD 代表当天的日期。

sar命令如何安装?-图3
(图片来源网络,侵删)

验证 sysstat 服务状态

确保 sysstat 的核心服务 sysstatdatacollector 正在运行。

# 对于使用 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/ 目录下没有生成数据文件。

解决方案:

  1. 检查服务状态: 确认 sysstat 服务正在运行。
    sudo systemctl status sysstat
  2. 检查配置文件: 确认 /etc/default/sysstat/etc/sysconfig/sysstat 文件中的 ENABLED 设置为 "true"
  3. 手动触发数据收集: 如果服务已运行但数据文件为空,可以手动运行 sa1 命令来生成一个数据文件。
    # sa1 选项用于收集并记录单个数据点
    # 此命令会立即生成一个当前时间的 sa 文件
    sudo sa1 1 1

    然后再检查 /var/log/sa/ 目录,应该会有新的文件生成。

  1. 安装: sudo apt install sysstat (Debian/Ubuntu) 或 sudo yum install sysstat (RHEL/CentOS)。
  2. 验证: sar 命令可用,sysstat 服务正在运行,/var/log/sa/ 目录下有数据文件。
  3. 配置: 编辑 /etc/default/sysstat/etc/sysconfig/sysstat 调整收集频率和保留天数。
  4. 使用: sar 查看历史,sar 1 5 查看实时,sar -u 查看CPU,sar -r 查看内存等。

通过以上步骤,您就可以成功安装并使用 sar 这个强大的系统性能分析工具了。

分享:
扫描分享到社交APP
上一篇
下一篇