sar 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

sar 命令安装:


-bash: sar: command not found

#Debian
apt-get install sysstat

#Ubuntu
apt-get install sysstat

sudo vi /etc/default/sysstat
修改 
ENABLED=false 
为 
ENABLED=true
 
#重启服务
sudo service sysstat restart


#Alpine
apk add sysstat

#Arch Linux
pacman -S sysstat

#Kali Linux
apt-get install sysstat

#CentOS
yum install sysstat

systemctl start sysstat
systemctl enable sysstat

#Fedora
dnf install sysstat

#OS X
brew install sysstat

#Raspbian
apt-get install sysstat

#Docker
docker run cmd.cat/sar sar

sar 命令补充说明:


sar 命令是 Linux 下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。sar 工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。

sar 命令语法:


sar -[ options ] time_interval number_of_tines_to_display

sar 命令选项:


-A 汇总所有的报告
-a 报告文件读写使用情况
-B 报告附加的缓存的使用情况
-b 报告缓存的使用情况
-c 报告系统调用的使用情况
-d 报告磁盘的使用情况
-g 报告串口的使用情况
-h 报告关于buffer使用的统计数据
-m 报告IPC消息队列和信号量的使用情况
-n 报告命名cache的使用情况
-p 报告调页活动的使用情况
-q 报告运行队列和交换队列的平均长度
-R 报告进程的活动情况
-r 报告没有使用的内存页面和硬盘块
-u 报告CPU的利用率
-v 报告进程、i节点、文件和锁表状态
-w 报告系统交换活动状况
-y 报告TTY设备活动状况

sar 命令参数:


间隔时间:每次报告的间隔时间(秒);
次数:显示报告的次数。

sar 命令实例:


#察看内存和交换空间的使用率
$ sar -r
Linux 3.10.0-514.el7.x86_64 (redis-01)  03/26/2019      _x86_64_        (16 CPU)

08:58:03 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
08:58:05 AM  64624324   1184156      1.80     49892    430760   1056892      1.61    452264    228332        40
08:58:07 AM  64624092   1184388      1.80     49892    430772   1056892      1.61    452268    228344        56
08:58:09 AM  64624076   1184404      1.80     49892    430788   1056892      1.61    452284    228344        72
Average:     64624164   1184316      1.80     49892    430773   1056892      1.61    452272    228340        56
---------------
kbmemfree:空闲物理内存量;
kbmemused:使用中的物理内存量;
%memused:物理内存量使用率;
kbbuffers:内核中作为缓冲区使用的物理内存容量;
kbcacheed:内核中作为缓存使用的物理内存容量;
kbswpfree:交换区的空闲容量;
kbswpused:使用中的交换区容量;
kbmemfree与kbmemused字段分别显示内存的未使用与已使用空间,后面跟着的是已使用空间的百分比(%memused字段)。
kbbuffers与kbcached字段分别显示缓冲区与系统全域的数据存取量,单位为KB。
#观察系统部件10分钟,并对数据进行排序
[root@Test /home/commandnotfound]
$ sar -o temp 60 10
Linux 3.10.0-514.el7.x86_64 (redis-01)  03/26/2019      _x86_64_        (16 CPU)

12:23:38 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:24:38 PM     all      0.03      0.00      0.02      0.00      0.00     99.95
Average:        all      0.03      0.00      0.02      0.00      0.00     99.95
#sar –u  查看CPU使用率
[root@Test /home/commandnotfound]
$ sar -u
Linux 3.10.0-514.el7.x86_64 (redis-01)  03/26/2019      _x86_64_        (16 CPU)

08:58:03 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
08:58:05 AM     all      0.00      0.00      0.03      0.00      0.00     99.97
08:58:07 AM     all      0.03      0.00      0.00      0.00      0.00     99.97
08:58:09 AM     all      0.00      0.00      0.03      0.00      0.00     99.97
Average:        all      0.01      0.00      0.02      0.00      0.00     99.97

#sar –q 查看平均负荷
$ sar -q
Linux 3.10.0-514.el7.x86_64 (redis-01)  03/26/2019      _x86_64_        (16 CPU)

08:58:03 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
08:58:05 AM         0       378      0.04      0.21      2.23         0
08:58:07 AM         0       378      0.04      0.21      2.21         0
08:58:09 AM         0       378      0.04      0.21      2.21         0
Average:            0       378      0.04      0.21      2.22         0


#sar –W 查看页面交换发生状况
$ sar -W
Linux 3.10.0-514.el7.x86_64 (redis-01)  03/26/2019      _x86_64_        (16 CPU)

08:58:03 AM  pswpin/s pswpout/s
08:58:05 AM      0.00      0.00
08:58:07 AM      0.00      0.00
08:58:09 AM      0.00      0.00
Average:         0.00      0.00

#sar –q 查看平均负荷
$ sar -q
Linux 3.10.0-514.el7.x86_64 (redis-01)  03/26/2019      _x86_64_        (16 CPU)

08:58:03 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
08:58:05 AM         0       378      0.04      0.21      2.23         0
08:58:07 AM         0       378      0.04      0.21      2.21         0
08:58:09 AM         0       378      0.04      0.21      2.21         0
Average:            0       378      0.04      0.21      2.22         0

#sar –b 查看I/O和传送速率的统计信息
$ sar -b 1 5
Linux 3.10.0-514.el7.x86_64 (redis-01)  03/26/2019      _x86_64_        (16 CPU)

12:36:12 PM       tps      rtps      wtps   bread/s   bwrtn/s
12:36:13 PM      0.00      0.00      0.00      0.00      0.00
12:36:14 PM      0.00      0.00      0.00      0.00      0.00
12:36:15 PM      0.00      0.00      0.00      0.00      0.00
12:36:16 PM      0.00      0.00      0.00      0.00      0.00
12:36:17 PM      0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      0.00      0.00      0.00

--------------
tps:     每秒钟物理设备的 I/O 传输总量                    
rtps:    每秒钟从物理设备读入的数据总量                  
wtps:    每秒钟向物理设备写入的数据总量                  
bread/s: 每秒钟从物理设备读入的数据量,单位为 块/s    
bwrtn/s: 每秒钟向物理设备写入的数据量,单位为 块/s

其他还有:

sar –c   每秒钟创建的进程数
sar -n DEV  输出网络设备状态的统计信息

sar 的坑:


安装首次执行#sar 命令时会提示如下错误。

Cannot open /var/log/sa/sa**: No such file or directory.. 星号值一般是当天的日期。这个错误是由于没有创建那个文件,可是使用参数-o 让其生成。

$ sar -o 2 3

这样/var/log/sa/目录下就会有文件了。

sar 命令扩展阅读:




sar 命令评论

共收录到 491Linux 命令