实战
安装 + 启用
sudo apt-get install sysstat
sudo service sysstat start
sar
这里是 windows 的 linux 发行版本。
$ sar
Linux 5.15.90.1-microsoft-standard-WSL2 (d) 11/14/23 _x86_64_ (16 CPU)
09:42:01 LINUX RESTART (16 CPU)
sar 安装
有两种方式:
第1是 使用安装包管理器,如yum,apt,rpm等。
第2是 二进制方式安装。两种方式均可。
发行版安装
yum install -y sysstat
# (or)
sudo apt-get install sysstat
# (or)
rpm -ivh rpm -ivh sysstat-10.0.0-1.i586.rpm
二进制方式安装
# 获取包并解压搜
wget http://pagesperso-orange.fr/sebastien.godard/sysstat-10.0.0.tar.bz2
bunzip2 sysstat-10.0.0.tar.gz
tar xvf sysstat-10.0.0.tar
# 制作makefile,编译,安装。
cd /sysstat-10.0.0.tar
./configure --enable-install-cron
make
make install
使用
查看版本
$ sar -V
sysstat version 10.1.5
(C) Sebastien Godard (sysstat <at> orange.fr)
统计
查看CPU统计信息 3次,每次间隔1s。
$ sar 1 3
结果如下:
$ sar 1 3
Linux 3.10.0-1160.45.1.el7.x86_64 (VM-12-8-centos) 04/06/2023 _x86_64_ (2 CPU)
04:34:32 PM CPU %user %nice %system %iowait %steal %idle
04:34:33 PM all 1.01 0.00 0.50 0.00 0.00 98.49
04:34:34 PM all 0.51 0.00 0.51 0.00 0.00 98.99
04:34:35 PM all 2.01 0.00 2.51 1.01 0.00 94.47
Average: all 1.17 0.00 1.17 0.34 0.00 97.32
参数
$ sar --help
常见的参数说明:
sar选项:
-b —> I/O传输速率信息状态
-B —> 分布状况
-c —> 进程创建活动
-d —> 块设备状况
-e —> 设置显示报告的结果时间
-m —> 电源管理信息状况
-f —> 从指定文件提取报告
-I {<中断> | SUM | ALL | XALL —>} 中断信息状况
-m —> 电源管理信息状况
-n { <关键词> [,…] | ALL } —> 网络统计信息,关键词可以是:
-P —> 报告每个CPU的状态
-q —> 队列长度和平均负载
-r —> 内存利用率
-R —> 内存状态
-S —> 交换空间利用率
-u [ ALL ] —> CPU利用率
-v —> Kernel table状况
-w —> 任务创建与系统转换统计信息
-W —> 交换信息
-y —> TTY设备状态
-x —> 显示给定进程的状态
chat
Q1-详细介绍一下 linux sar 命令
sar
(System Activity Reporter)是一个用于报告系统性能活动的命令。
它可以收集、报告以及保存系统的活动数据,包括CPU使用率、内存使用率、磁盘I/O、网络活动等。
sar
是sysstat
软件包的一部分,通常需要先安装sysstat
才能使用。
命令格式:
sar [选项] [时间间隔] [次数]
- 选项:
-u
(CPU使用情况)、-r
(内存使用情况)、-b
(磁盘I/O情况)、-n
(网络统计)等。 - 时间间隔:采样时间间隔,单位为秒。
- 次数:采样次数。
常用选项:
- -u:报告CPU使用情况。
sar -u
- -r:报告内存使用情况。
sar -r
- -b:报告磁盘I/O情况。
sar -b
- -n:报告网络统计。
sar -n DEV
示例:
- 查看CPU使用情况:
sar -u 1 5
上述命令每隔1秒采样一次,共采样5次CPU使用情况。
- 查看内存使用情况:
sar -r 1 5
上述命令每隔1秒采样一次,共采样5次内存使用情况。
- 查看磁盘I/O情况:
sar -b 1 5
上述命令每隔1秒采样一次,共采样5次磁盘I/O情况。
- 查看网络统计:
sar -n DEV 1 5
上述命令每隔1秒采样一次,共采样5次网络统计。
输出解释:
sar
命令的输出提供了系统性能活动的详细数据,包括CPU利用率、内存使用、磁盘I/O、网络统计等。
输出的字段可能有所不同,具体取决于选择的选项和正在运行的系统。
通常,输出的解释会包含在sysstat
软件包的文档中,你可以查阅相关文档以更深入地理解输出。
Q2-sar 无法使用
Cannot open /var/log/sysstat/sa14: No such file or directory
Please check if data collecting is enabled
怎么解决?
这种错误通常表明 sar
命令无法找到指定的数据文件 /var/log/sysstat/sa14
,这可能是由于 sysstat
数据收集服务没有启动,或者在系统上尚未生成该文件。
以下是一些建议的解决方法:
-
确保 sysstat 服务已安装并启动:
sudo apt-get install sysstat sudo service sysstat start
确保
sysstat
服务已经安装并正在运行。服务启动后,它将定期收集系统性能数据并将其写入/var/log/sysstat/
目录下的文件中。 -
手动运行 sysstat 收集数据:
如果服务已启动但问题仍然存在,可以尝试手动运行
sar
以强制进行数据收集:sudo sar
或者手动运行
sadc
命令:sudo sadc -d
这将收集当前系统的数据并写入
/var/log/sysstat/
目录下的文件中。 -
检查 /var/log/sysstat 目录是否存在:
确保
/var/log/sysstat/
目录存在。如果不存在,创建它:sudo mkdir -p /var/log/sysstat
然后重新运行
sar
或sadc
命令。 -
检查 sysstat 配置文件:
确保
/etc/default/sysstat
配置文件中的ENABLED
选项设置为true
:sudo nano /etc/default/sysstat
确保
ENABLED
行类似于:ENABLED="true"
如果进行了更改,请重新启动 sysstat 服务:
sudo service sysstat restart
-
查看 sysstat 日志文件:
查看
/var/log/sysstat/saXX
文件中是否有数据,其中XX
是当天的日期。如果文件存在,可能是由于权限问题导致sar
命令无法读取。
通过检查以上步骤,你应该能够解决问题。如果问题仍然存在,你可能需要查看系统日志或 sysstat
相关的错误信息,以获取更多详细信息。