菜鸟科技网

Linux sar命令如何安装?

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

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

确认系统环境与安装前准备

在安装sysstat之前,建议先确认当前系统的发行版信息,因为不同发行版的包管理器不同。

  • 基于Debian/Ubuntu的系统使用apt
  • 基于RHEL/CentOS的系统使用yumdnf
  • 基于Arch Linux的系统使用pacman

确保系统有足够的权限执行安装操作(通常需要root或sudo权限),并检查网络连接是否正常,以便从软件源下载包。

安装sysstat软件包

基于Debian/Ubuntu的系统

在Ubuntu或Debian系统中,可以通过以下命令安装sysstat:

sudo apt update
sudo apt install sysstat

安装完成后,sysstat服务会自动启动,并开始定期收集系统数据,默认情况下,数据收集间隔为10分钟,并保留最近的数据文件。

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

基于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命令安装:

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

安装后需启用并启动sysstat服务:

sudo systemctl enable --now sysstat.service

从源码编译安装

如果需要从源码编译安装(例如定制功能),可以按照以下步骤操作:

  1. 下载源码包(从官方源或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
  2. 编译并安装:
    ./configure
    make
    sudo make install
  3. 初始化配置文件:
    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),确保ENABLEDtrue,并重启服务。


相关问答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天前的数据。

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