s11.9 sar:收集系统信息

时间:2023-03-09 19:14:32
s11.9 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
Linux 3.10.-.el7.x86_64 (lewen) 2019年03月17日 _x86_64_ ( 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
Linux 3.10.-.el7.x86_64 (lewen) 2019年03月17日 _x86_64_ ( CPU) 16时25分06秒 runq-sz plist-sz ldavg- ldavg- ldavg- blocked
16时25分08秒 0.00 0.01 0.05
16时25分10秒 0.00 0.01 0.05
16时25分12秒 0.00 0.01 0.05
平均时间: 0.00 0.01 0.05 runq-sz:运行队列的长度(等待运行的进程数)。
plist-sz:进程列表中进程(process)和线程(thread)的数量。
ldavg-:最后1分钟的系统平均负载(system load average)。
ldavg-:过去5分钟的系统平均负载。
ldavg-:过去15分钟的系统平均负载。

显示系统内存的使用状况

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

显示缓冲区的使用情况

[root@doit ~]# sar -b
Linux 4.20.-.el7.elrepo.x86_64 (doit) // _x86_64_ ( CPU) :: PM tps rtps wtps bread/s bwrtn/s
:: PM 0.50 0.00 0.50 0.00 4.00
:: PM 0.00 0.00 0.00 0.00 0.00
:: 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
Linux 4.20.-.el7.elrepo.x86_64 (doit) // _x86_64_ ( CPU) :: PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
:: PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: 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
Linux 4.20.-.el7.elrepo.x86_64 (doit) // _x86_64_ ( CPU) :: PM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s
:: PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
:: 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
Linux 4.20.-.el7.elrepo.x86_64 (doit) // _x86_64_ ( CPU) :: PM totsck tcpsck udpsck rawsck ip-frag tcp-tw
:: PM
:: PM
:: PM
Average: 以下是命令结果的详细说明。
totsck:使用的套接字总数量。
tcpsck:使用的TCP套接字数量。
udpsck:使用的UDP套接字数量。
rawsck:使用的raw套接字数量。
ip-frag:使用的IP段数量。
tcp-tw:处于TIME_WAIT状态的TCP套接字数量。

查看系统磁盘的读写性能

[root@doit ~]# sar -d
Linux 4.20.-.el7.elrepo.x86_64 (doit) // _x86_64_ ( CPU) :: PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
:: PM dev8- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 :: PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
:: PM dev8- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 :: PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
:: PM dev8- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
Average: dev8- 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操作的百分比。