sar:收集系统信息

sar

功能说明:
    通过sar命令,可以全面地获取系统的CPU、运行队列、磁盘I/O、分页(交换区)、内存、CPU中断和网络等性能数据。
 
语法格式
sar  option interval count
sar  选项    时间间隔  次数
 
说明:
1)在sar命令及后面的选项里,每个元素之间都至少要有一个空格。
2)interval表示两次输出之间的间隔时间。
3)count表示按照interval指定的时间间隔统计的次数。
 

【选项说明】

查看系统CPU的整体负载状况。
-A 显示系统所有资源设备(CPU、内存、磁盘)的运行状况
-u 显示系统所有CPU在采样时间内的负载状态
-P 显示当前系统中指定CPU的使用情况
-d 显示系统所有硬盘设备在采样时间内的使用状况
-r 显示在采样时间内系统内存的使用状况
-b 显示在采样时间内缓冲区的使用情况
-v 显示索引节点、文件和其他内核表的状态
-n 显示网络运行状态
-q 显示运行队列的大小,它与系统当时的平均负载相同
-R 显示进程在采样时间内的活动情况
-y 显示终端设备在采样时间内的活动情况
-w 显示系统交换活动在采样时间内的状态
-o filename 将命令结果以二进制格式存放在文件中,filename是文件名
 
使用范例
 

查看系统CPU的整体负载状况

[root@lewen ~]# sar -u 2 3
Linux 3.10.0-957.el7.x86_64 (lewen)     2019年03月17日     _x86_64_    (1 CPU)
 
16时09分16秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
16时09分18秒     all      0.00      0.00      0.50      0.00      0.00     99.50
16时09分20秒     all      0.00      0.00      0.00      0.00      0.00    100.00
16时09分22秒     all      0.50      0.00      0.50      0.00      0.00     99.00
平均时间:     all      0.17      0.00      0.33      0.00      0.00     99.50
 
%user:用户进程消耗的CPU时间百分比。
%nice:改变过优先级的进程占用的CPU时间百分比。
%system:系统(内核)进程消耗的CPU时间百分比。
%iowait:IO等待所占用的CPU时间百分比。
%steal:虚拟机强制CPU等待的时间百分比。
%idle:CPU处在空闲状态的时间百分比。
 
 

显示运行队列的大小

[root@lewen ~]# sar -q 2 3
Linux 3.10.0-957.el7.x86_64 (lewen)     2019年03月17日     _x86_64_    (1 CPU)
 
16时25分06秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
16时25分08秒         0       316      0.00      0.01      0.05         0
16时25分10秒         0       316      0.00      0.01      0.05         0
16时25分12秒         0       316      0.00      0.01      0.05         0
平均时间:         0       316      0.00      0.01      0.05         0
 
runq-sz:运行队列的长度(等待运行的进程数)。
plist-sz:进程列表中进程(process)和线程(thread)的数量。
ldavg-1:最后1分钟的系统平均负载(system load average)。
ldavg-5:过去5分钟的系统平均负载。
ldavg-15:过去15分钟的系统平均负载。
 

显示系统内存的使用状况

[root@lewen ~]# sar -r 2 3
Linux 3.10.0-957.el7.x86_64 (lewen)     2019年03月17日     _x86_64_    (1 CPU)
 
16时29分54秒 kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
16时29分56秒   2794180   1232168     30.60      2108    643944   2014348     28.09    672264    297744         8
16时29分58秒   2794180   1232168     30.60      2108    643944   2014348     28.09    672268    297744         8
16时30分00秒   2794180   1232168     30.60      2108    643944   2014348     28.09    672268    297744         8
平均时间:   2794180   1232168     30.60      2108    643944   2014348     28.09    672267    297744         8
 
 
以下是命令结果的详细说明。
kbmemfree:空闲物理内存量。
kbmemused:使用中的物理内存量。
%memused:物理内存量的使用率。
kbbuffers:内核中作为缓冲区使用的物理内存容量。
kbcached:内核中作为缓存使用的物理内存容量。
kbcommit:应用程序当前使用的内存大小。
%commit:应用程序当前使用的内存大小占总大小的使用百分比。
 

显示缓冲区的使用情况

[root@doit ~]# sar -b 2 3
Linux 4.20.0-1.el7.elrepo.x86_64 (doit)     03/17/2019     _x86_64_    (2 CPU)
 
04:33:47 PM       tps      rtps      wtps   bread/s   bwrtn/s
04:33:49 PM      0.50      0.00      0.50      0.00      4.00
04:33:51 PM      0.00      0.00      0.00      0.00      0.00
04:33:53 PM      0.00      0.00      0.00      0.00      0.00
Average:         0.17      0.00      0.17      0.00      1.33
 
 
tps:每秒钟物理设备的I/O传输总量。
rtps:每秒钟从物理设备读入的数据总量。
wtps:每秒钟向物理设备写入的数据总量。
bread/s:每秒钟从物理设备读入的数据量,单位为块/s。
bwrtn/s:每秒钟向物理设备写人的数据量,单位为块/s。
 

显示网络的运行状态

 
[root@doit ~]# sar -n DEV 2 3
Linux 4.20.0-1.el7.elrepo.x86_64 (doit)     03/17/2019     _x86_64_    (2 CPU)
 
04:35:59 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
04:36:01 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
04:36:01 PM      eth0     48.50     40.50     34.71     33.66      0.00      0.00      0.00
 
 
 
以下是命令结果的详细说明。
IFACE:网络接。
rxpck/s:每秒钟接收的数据包。
txpck/s:每秒钟发送的数据包。
rxkB/s:每秒钟接收的字节数。
txkB/s:每秒钟发送的字节数。
rxcmp/s:每秒钟接收的压缩数据包。
txcmp/s:每秒钟发送的压缩数据包。
rxmcst/s:每秒钟接收的多播数据包。
 
下面的命令用来显示网络错误的统计数据。
 
 
[root@doit ~]# sar -n EDEV 2 3
Linux 4.20.0-1.el7.elrepo.x86_64 (doit)     03/17/2019     _x86_64_    (2 CPU)
 
04:39:26 PM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
04:39:28 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
04:39:28 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 
 
 
以下是命令结果的详细说明。
IFACE:网络接。
rxerr/s:每秒钟接收的坏数据包。
txerr/s:每秒钟发送的坏数据包。
coll/s:每秒的冲突数。
rxdrop/s:因为缓冲充满,每秒钟丢弃的已接收数据包数。
txdrop/s:因为缓冲充满,每秒钟丢弃的已发送数据包数。
txcarr/s:发送数据包时,每秒载波错误数。
rxfram/s:每秒接收数据包的帧对齐错误数。
rxfifo/s:接收的数据包每秒FIFO过速的错误数。
txfifo/s:发送的数据包每秒FIFO过速的错误数。
 
下面的命令用于显示套接字信息。
 
[root@doit ~]# sar -n SOCK 2 3
Linux 4.20.0-1.el7.elrepo.x86_64 (doit)     03/17/2019     _x86_64_    (2 CPU)
 
04:42:06 PM    totsck    tcpsck    udpsck    rawsck   ip-frag    tcp-tw
04:42:08 PM       101         5         3         0         0         2
04:42:10 PM       101         5         3         0         0         2
04:42:12 PM       101         5         3         0         0         2
Average:          101         5         3         0         0         2
 
以下是命令结果的详细说明。
totsck:使用的套接字总数量。
tcpsck:使用的TCP套接字数量。
udpsck:使用的UDP套接字数量。
rawsck:使用的raw套接字数量。
ip-frag:使用的IP段数量。
tcp-tw:处于TIME_WAIT状态的TCP套接字数量。
 

查看系统磁盘的读写性能

[root@doit ~]# sar -d 2 3
Linux 4.20.0-1.el7.elrepo.x86_64 (doit)     03/17/2019     _x86_64_    (2 CPU)
 
04:43:34 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
04:43:36 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 
 
以下是命令结果的详细说明。
DEV:表示磁盘的设备名称。
tps:表示该设备每秒的传输次数,“一次传输”的意思是“一次I/O请求”,多个逻辑请求可能会被合并为“一次I/O请求”,“一次传输”请求的大小是未知的。
rd_sec/s:表示每秒从设备读取的扇区数。
wr_sec/s;表示每秒写入设备的扇区数目。
avgrq-sz:设备平均每次I/O操作的数据大小(扇区)。
avgqu-sz;平均I/0队列长度。
await:设备平均每次1VO操作的等待时间(毫秒)。
svctm:设备平均每次I/O操作的服务时间(毫秒)。
%util:每秒钟用于I/O操作的百分比。
 
 
 
 
 
 
 
 
 
posted @ 2019-03-17 16:49  前海渔文乐  阅读(138)  评论(0编辑  收藏  举报