在Linux系统中,sar(System Activity Reporter)是sysstat工具包中的一个核心组件,用于收集、统计和报告系统的各项性能数据,如CPU使用率、内存占用、磁盘I/O、网络流量等,通过sar,管理员可以实时监控系统状态,或分析历史数据排查性能瓶颈,本文将详细介绍Linux环境下安装sar的完整步骤,涵盖不同发行版的安装方法、配置及基本使用,帮助用户快速上手这一强大的系统监控工具。
安装前的准备
在安装sar之前,需确认当前系统的发行版(如Ubuntu/Debian、CentOS/RHEL、Arch Linux等),因为不同发行版的包管理工具和软件源配置存在差异,确保系统有管理员权限(通常为root用户或通过sudo提权),以便安装软件包和修改系统配置。
不同发行版的安装步骤
sar作为sysstat工具包的一部分,安装时通常需直接安装sysstat包,以下是主流Linux发行版的安装方法:
基于Debian/Ubuntu的系统(如Ubuntu 20.04/22.04、Debian 10/11)
此类系统使用apt
作为包管理工具,安装步骤如下:
- 更新软件源列表:
首先更新系统的软件包索引,确保获取最新的软件包信息:sudo apt update
- 安装sysstat包:
通过apt
命令安装sysstat,安装后会自动包含sar工具:sudo apt install sysstat
- 验证安装:
安装完成后,执行以下命令检查sar是否可用:sar -v
若显示版本信息或帮助界面,则表示安装成功。
基于RHEL/CentOS的系统(如CentOS 7/8、RHEL 7/8)
此类系统使用yum
或dnf
作为包管理工具(CentOS 7及以下使用yum,CentOS 8及以上使用dnf):
- 更新软件包缓存:
使用yum
(CentOS 7)或dnf
(CentOS 8)更新缓存:# CentOS 7及以下 sudo yum makecache # CentOS 8及以上 sudo dnf makecache
- 安装sysstat包:
执行安装命令(以dnf为例,yum命令相同):sudo dnf install sysstat
- 验证安装:
同样通过sar -v
命令确认安装是否成功。
基于Arch Linux的系统
Arch Linux使用pacman
作为包管理工具,安装步骤更简洁:
- 更新系统:
首先更新系统已安装的软件包:sudo pacman -Syu
- 安装sysstat包:
直接执行以下命令:sudo pacman -S sysstat
- 验证安装:
通过sar --version
或sar -v
检查安装结果。
其他发行版(如openSUSE、Fedora等)
- openSUSE:使用
zypper
安装,命令为sudo zypper install sysstat
。 - Fedora:使用
dnf
安装,与CentOS 8步骤一致。 - Gentoo:需通过
emerge
安装,命令为sudo emerge sysstat
。
安装后的配置
安装sysstat后,默认可能已启用数据采集服务,但需确保配置正确以实现长期监控:
启用sysstat服务
sysstat通过sysstat
服务(或sysstat.service
)定时采集数据并保存,需确保服务已启动并开机自启:
- 基于systemd的系统(Ubuntu 16.04+、CentOS 7+等):
# 启动服务 sudo systemctl start sysstat # 设置开机自启 sudo systemctl enable sysstat
- 基于init.d的系统(较旧版本):
# 启动服务 sudo /etc/init.d/sysstat start # 设置开机自启 sudo update-rc.d sysstat enable
配置数据采集参数
sysstat的配置文件通常位于/etc/sysstat/sysstat
或/etc/sysconfig/sysstat
(根据发行版不同),主要参数包括:
- ENABLED:是否启用数据采集(需设置为
true
)。 - COLLECTION_INTERVAL:数据采集间隔(单位为分钟,默认10分钟)。
- HISTORY:保留历史数据的时长(单位为天,默认7天)。
以CentOS/RHEL为例,编辑配置文件:
sudo vi /etc/sysconfig/sysstat
修改以下参数:
ENABLED="true"
COLLECTION_INTERVAL=5 # 修改为5分钟采集一次
HISTORY=30 # 保留30天历史数据
保存后重启sysstat服务使配置生效:
sudo systemctl restart sysstat
sar的基本使用
安装配置完成后,可通过sar命令查看系统性能数据,以下为常用示例:
查看实时CPU使用率
sar -u 1 5 # 每秒刷新一次,共显示5次
输出包括%user
(用户态CPU使用率)、%system
(内核态CPU使用率)、%iowait
(I/O等待率)等关键指标。
查看历史内存使用情况
sar -r -s 10:00:00 -e 18:00:00 # 查看当天10:00-18:00的内存使用情况
输出包括kbmemfree
(空闲内存)、kbmemused
(已用内存)、%memused
(内存使用率)。
查看磁盘I/O统计
sar -b # 查看整体磁盘I/O情况
输出包括tps
(每秒传输次数)、r/s
(每秒读取次数)、w/s
(每秒写入次数)等。
查看网络流量
sar -n DEV # 查看网络设备流量
输出包括IFACE
(网卡名称)、rxpck/s
(每秒接收数据包)、txpck/s
(每秒发送数据包)等。
sar常用选项说明
为方便使用,以下为sar常用选项的汇总(通过表格展示):
选项 | 说明 | 示例 |
---|---|---|
-u |
查看CPU使用率 | sar -u 1 3 (实时CPU,每秒刷新3次) |
-r |
查看内存使用情况 | sar -r -f /var/log/sysstat/sa10 (查看10号的历史内存数据) |
-b |
查看磁盘I/O统计 | sar -b -s 09:00:00 (查看当天9点起的磁盘I/O) |
-n |
查看网络流量 | sar -n DEV, EDEV (显示网卡及错误统计) |
-d |
查看磁盘设备使用情况 | sar -d -p (显示磁盘设备名及I/O延迟) |
-q |
查看系统负载 | sar -q 1 5 (实时负载,每秒刷新5次) |
-f |
指定历史数据文件 | sar -f /var/log/sysstat/sa15 (查看15号的历史数据) |
相关问答FAQs
问题1:执行sar
命令时提示“command not found”,如何解决?
解答:该错误通常是由于sysstat未正确安装或环境变量未配置导致,可按以下步骤排查:
- 确认sysstat是否安装:通过
dpkg -l | grep sysstat
(Ubuntu/Debian)或rpm -qa | grep sysstat
(CentOS/RHEL)检查包是否已安装。 - 若未安装,根据本文第二部分重新安装sysstat包。
- 若已安装但仍报错,可能是
/usr/bin
(sar默认安装路径)未加入环境变量,可通过echo $PATH
检查,或手动执行/usr/sbin/sar
(部分系统路径为/usr/sbin
)。
问题2:如何修改sar历史数据的保存路径?
解答:sysstat默认将历史数据保存在/var/log/sysstat/
目录下(文件名为sa+日期
,如sa01
表示1号的数据),如需修改保存路径,需调整sysstat的配置文件:
- 编辑配置文件(以CentOS为例):
sudo vi /etc/sysconfig/sysstat
。 - 修改
SA_DIR
参数,例如SA_DIR=/custom/path/sa
。 - 确保新目录存在且有写入权限:
sudo mkdir -p /custom/path/sa && sudo chmod 755 /custom/path/sa
。 - 重启sysstat服务:
sudo systemctl restart sysstat
。
注意:修改路径后,需确保新目录所在分区有足够存储空间,避免因磁盘不足导致数据采集失败。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/34301.html