说明
sar命令可以全面的获取系统的CPU、运行队列、磁盘I/O,分页(交换区)、内存、CPU终端和网络等性能数据。
格式
sar [option] [delay时间间隔 [count次数]]
常用参数
- -A:显示系统所有资源设备(CPU、内存、磁盘)的运行情况
- -u:显示系统所有的CPU在采样时间内的负载情况
- -P:显示当前系统中指定CPU的使用情况
- -d:显示系统所有硬盘设备在采样时间内的使用状况
- -r:显示在采样时间内内存的使用情况
- -b:显示在采样时间内缓冲区的使用情况
- -v:显示索引节点、文件和其他内核表的状态
- -n:显示网络运行状态
- -q:显示运行队列的大小,他与系统当时的平均负载相同
- -R:显示进程在采样时间内的活动情况
- -y:显示终端设备在采样时间内的活动情况
- -w:显示系统交换活动在采样时间内的状态
- -o filename:将命令结果二进制格式存放在文件中,filename是文件名
示例
1、不加任何参数
[root@localhost ~]# sar
Linux 3.10.0-693.2.2.el7.x86_64 (localhost) 06/27/2018 _x86_64_ (1 CPU)
12:00:01 AM CPU %user %nice %system %iowait %steal %idle
12:10:01 AM all 0.71 0.00 0.26 0.03 0.00 99.00
12:20:01 AM all 0.73 0.00 0.25 0.03 0.00 98.99
12:30:01 AM all 0.71 0.00 0.24 0.02 0.00 99.03
12:40:01 AM all 0.70 0.00 0.26 0.03 0.00 99.02
12:50:01 AM all 0.73 0.00 0.26 0.02 0.00 98.99
01:00:01 AM all 0.70 0.00 0.24 0.02 0.00 99.04
01:10:01 AM all 0.72 0.00 0.26 0.03 0.00 99.00
01:20:01 AM all 0.72 0.00 0.26 0.04 0.00 98.98
01:30:01 AM all 0.70 0.00 0.25 0.03 0.00 99.01
01:40:01 AM all 0.70 0.00 0.24 0.03 0.00 99.03
01:50:01 AM all 0.72 0.00 0.27 0.03 0.00 98.99
02:00:01 AM all 0.70 0.00 0.25 0.02 0.00 99.03
02:10:01 AM all 0.73 0.00 0.26 0.03 0.00 98.98
02:20:01 AM all 0.71 0.00 0.25 0.10 0.00 98.94
02:30:01 AM all 0.71 0.00 0.26 0.03 0.00 99.00
02:40:01 AM all 0.71 0.00 0.26 0.04 0.00 98.99
02:50:01 AM all 0.71 0.00 0.26 0.03 0.00 99.00
03:00:01 AM all 0.73 0.00 0.25 0.07 0.00 98.95
03:10:01 AM all 0.72 0.00 0.26 0.03 0.00 98.99
03:20:01 AM all 0.72 0.00 0.26 0.02 0.00 99.00
03:30:01 AM all 0.73 0.00 0.26 0.04 0.00 98.98
03:40:01 AM all 0.74 0.00 0.26 0.04 0.00 98.97
03:50:01 AM all 0.71 0.02 0.27 0.08 0.00 98.92
04:00:01 AM all 0.72 0.00 0.26 0.03 0.00 98.99
04:10:01 AM all 0.72 0.00 0.28 0.03 0.00 98.98
04:20:01 AM all 0.72 0.00 0.26 0.02 0.00 99.00
04:30:01 AM all 0.72 0.00 0.26 0.03 0.00 98.98
04:40:01 AM all 0.71 0.00 0.26 0.03 0.00 99.00
04:50:01 AM all 0.69 0.00 0.25 0.03 0.00 99.03
05:00:01 AM all 0.71 0.00 0.25 0.02 0.00 99.01
05:10:01 AM all 0.70 0.00 0.26 0.03 0.00 99.01
05:20:01 AM all 0.70 0.00 0.26 0.03 0.00 99.01
05:30:01 AM all 0.71 0.00 0.24 0.09 0.00 98.97
05:40:01 AM all 0.71 0.00 0.25 0.02 0.00 99.01
05:50:01 AM all 0.71 0.00 0.27 0.02 0.00 99.00
06:00:01 AM all 0.71 0.00 0.25 0.03 0.00 99.01
06:10:01 AM all 0.71 0.00 0.26 0.03 0.00 99.00
06:20:01 AM all 0.70 0.00 0.28 0.03 0.00 98.99
06:30:01 AM all 0.71 0.00 0.24 0.02 0.00 99.03
06:40:01 AM all 0.71 0.00 0.24 0.02 0.00 99.02
06:40:01 AM CPU %user %nice %system %iowait %steal %idle
06:50:01 AM all 0.71 0.00 0.25 0.03 0.00 99.01
Average: all 0.71 0.00 0.26 0.03 0.00 99.00
[root@localhost ~]#
命令结果的详细说明:
- %user:用户进程消耗的CPU时间百分比
- %nice:改变过优先级的进程占用的CPU时间百分比
- %system:系统内核进程消耗CPU时间百分比
- %iowait:IO等待所占用CPU时间百分比
- %steal:虚拟机强制CPU等待的时间百分比
- %idle:CPU处在空闲状态的时间百分比
2、查看系统CPU的整理负载情况
[root@localhost ~]# sar -u 2 3 #2秒统计一次,一共统计三次
Linux 3.10.0-693.2.2.el7.x86_64 (localhost) 06/27/2018 _x86_64_ (1 CPU)
07:09:22 AM CPU %user %nice %system %iowait %steal %idle
07:09:24 AM all 0.50 0.00 0.00 0.00 0.00 99.50
07:09:26 AM all 0.50 0.00 0.00 0.00 0.00 99.50
07:09:28 AM all 1.00 0.00 0.50 0.00 0.00 98.51
Average: all 0.67 0.00 0.17 0.00 0.00 99.17
3、显示运行队列的大小
[root@localhost ~]# sar -q 2 2
Linux 3.10.0-693.2.2.el7.x86_64 (localhost) 06/27/2018 _x86_64_ (1 CPU)
07:11:07 AM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
07:11:09 AM 0 182 0.00 0.02 0.05 0
07:11:11 AM 0 182 0.00 0.02 0.05 0
Average: 0 182 0.00 0.02 0.05 0
命令结果的详细说明:
- runq-sz:运行队列的长度
- plist-sz:进程列表中进程和线程的数量
- ldavg-1:最后1分钟的系统平均负载
- ldavg-5:过去5分钟的的系统平均负载
- ldavg-15:过去15分钟的的系统平均负载
- blocked:当前阻塞的进程数量,为了等待I/O完成
4、显示系统内存的使用情况
[root@localhost ~]# sar -r 2 2
Linux 3.10.0-693.2.2.el7.x86_64 (localhost) 06/27/2018 _x86_64_ (1 CPU)
07:14:09 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
07:14:11 AM 66776 949388 93.43 123572 246540 1346832 43.95 452000 403592 120
07:14:13 AM 66776 949388 93.43 123576 246540 1346832 43.95 452004 403596 124
Average: 66776 949388 93.43 123574 246540 1346832 43.95 452002 403594 122
命令结果说明:
- kbmemfree:可用的空闲内存量(单位为千字节)。
- kbmemused:已使用内存的量(单位为千字节)。这并不考虑内核本身所使用的内存。
- %memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比。
- kbbuffers:用于内核缓冲区的内存量。
- kbcached:用于内核缓存数据的内存量。
- kbcommit:当前系统工作负载所需的内存量。即为了确保不溢出而需要的内存(RAM+swap)。
- %commit:这个值是kbcommit与内存总量(RAM+swap)的一个百分比。这个数值也许会大于100%,因为内核经常过量使用内存。
5、显示缓冲区的使用情况
[root@localhost ~]# sar -b 2 2
Linux 3.10.0-693.2.2.el7.x86_64 (localhost) 06/27/2018 _x86_64_ (1 CPU)
07:16:29 AM tps rtps wtps bread/s bwrtn/s
07:16:31 AM 0.00 0.00 0.00 0.00 0.00
07:16:33 AM 1.00 0.00 1.00 0.00 28.00
Average: 0.50 0.00 0.50 0.00 14.04
命令结果说明:
- tps:每秒钟物理设备的 I/O 传输总量
- rtps:每秒钟从物理设备读入的数据总量
- wtps:每秒钟向物理设备写出的数据总量
- bread/s:每秒钟从物理设备读入的数据量,单位为 块/s
- bwrtn/s:每秒钟向物理设备写出的数据量,单位为 块/s
6、显示网络运行状态
可能的关键字有DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6, EIP6, ICMP6, UDP6, FC.
如果你使用DEV关键字,它将报告所有网络设备的统计信息.
[root@localhost ~]# sar -n DEV 2 2 # -n DEV显示网络接口的信息
Linux 3.10.0-693.2.2.el7.x86_64 (localhost) 06/27/2018 _x86_64_ (1 CPU)
07:18:08 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:18:10 AM eth0 1.50 1.50 0.10 0.65 0.00 0.00 0.00
07:18:10 AM lo 1.50 1.50 0.09 0.09 0.00 0.00 0.00
07:18:10 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
07:18:12 AM eth0 0.50 0.50 0.03 0.03 0.00 0.00 0.00
07:18:12 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
Average: eth0 1.00 1.00 0.07 0.34 0.00 0.00 0.00
Average: lo 0.75 0.75 0.05 0.05 0.00 0.00 0.00
命令结果说明:
- rxpck/s:每秒接收的数据包总数
- txpck/s:每秒传输的数据包总数
- rxkB/s:每秒接收的字节数(单位KB)
- txkB/s:每秒传输的字节数(单位KB)
- rxcmp/s:每秒接收的压缩包总数
- txcmp/s:每秒传输的压缩包总数
- rxmcst/s:每秒接收的组播数据包总数
- %ifutil:网络接口的利用率
7、查看系统磁盘的读写性能
[root@localhost ~]# sar -d 2 2
Linux 3.10.0-693.2.2.el7.x86_64 (localhost) 06/27/2018 _x86_64_ (1 CPU)
07:20:42 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
07:20:44 AM dev253-0 0.50 0.00 12.00 24.00 0.00 1.00 1.00 0.05
07:20:44 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
07:20:46 AM dev253-0 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: dev253-0 0.25 0.00 6.00 24.00 0.00 1.00 1.00 0.03
命令结果说明:
- DEV:表示磁盘的设备名称
- tps:表示设备每秒钟传输的次数
- rd_sec/s:表示每秒从设备读取的扇区的扇区数
- wr_sec/s:表示每秒写入设备的扇区数目
- avgrq-sz:设备平均每次I/O操作的数据大小
- avgqu-sz:平均I/O队列长度
- await:设备平均每次I/O操作的等待时间
- svctm:设备平均每次I/O操作的服务时间
- %util:每秒钟用于I/O操作的百分比