sar命令

Posted FuZZ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sar命令相关的知识,希望对你有一定的参考价值。

 

 

sar命令

 

 

 

sar可以显示出文件的读写情况、系统调用的使用情况、磁盘I/O、CPU使用率、内存使用率、进程活动及IPC等

 

用法: sar [options] [-A] [-o file] t [n]

 

常用参数:

 

-A 列出所有的项目使用情况

 

-u 列出cpu的使用情况

 

-v 输出inode、文件和其他内核表的统计信息

 

-d:输出每一个块设备的活动信息

 

-r:输出内存和交换空间的统计信息

 

-b:显示I/O和传送速率的统计信息

 

-R:输出内存页面的统计信息

 

-w:输出系统交换活动信息

-s :指定历史数据开始时间

-e:指定历史数据结束时间

 

 

 

默认监控: sar 5 5     //  CPU和IOWAIT统计状态 
(1) sar -b 5 5        // IO传送速率
(2) sar -B 5 5        // 页交换速率
(3) sar -c 5 5        // 进程创建的速率
(4) sar -d 5 5        // 块设备的活跃信息
(5) sar -n DEV 5 5    // 网路设备的状态信息
(6) sar -n SOCK 5 5   // SOCK的使用情况
(7) sar -n ALL 5 5    // 所有的网络状态信息
(8) sar -P ALL 5 5    // 每颗CPU的使用状态信息和IOWAIT统计状态 
(9) sar -q 5 5        // 队列的长度(等待运行的进程数)和负载的状态
(10) sar -r 5 5       // 内存和swap空间使用情况
(11) sar -R 5 5       // 内存的统计信息(内存页的分配和释放、系统每秒作为BUFFER使用内存页、每秒被cache到的内存页)
(12) sar -u 5 5       // CPU的使用情况和IOWAIT信息(同默认监控)
(13) sar -v 5 5       // inode, file and other kernel tablesd的状态信息
(14) sar -w 5 5       // 每秒上下文交换的数目
(15) sar -W 5 5       // SWAP交换的统计信息(监控状态同iostat 的si so)
(16) sar -x 2906 5 5  // 显示指定进程(2906)的统计信息,信息包括:进程造成的错误、用户级和系统级用户CPU的占用情况、运行在哪颗CPU上
(17) sar -y 5 5       // TTY设备的活动状态
(18) 将输出到文件(-o)和读取记录信息(-f)

 

使用:

 

1)查看cpu使用,每2s采集一次,连续采集8次

 

[[email protected] services]# sar -u 2 8

 

Linux 2.6.18-194.el5 (mail.xywy.com)  07/22/15

 

 

 

14:24:50          CPU     %user     %nice   %system   %iowait    %steal     %idle

 

14:24:52          all      0.06      0.00      0.38     24.56      0.00     75.00

 

14:24:54          all      0.00      0.00      0.50     24.55      0.00     74.95

 

14:24:56          all     17.54      0.00      8.05     19.98      0.00     54.43

 

14:24:58          all      9.56      0.00      3.69     14.31      0.00     72.44

 

14:25:00          all      8.94      0.00      3.25     13.88      0.00     73.94

 

14:25:02          all     10.87      0.00      5.25     13.37      0.00     70.52

 

14:25:04          all     14.61      0.00      5.06     11.92      0.00     68.41

 

14:25:06          all     15.74      0.00      4.43     14.18      0.00     65.65

 

Average:          all      9.67      0.00      3.83     17.09      0.00     69.42

 

输出项说明:

 

CPU:all 表示统计信息为所有 CPU 的平均值。

 

%user:显示在用户级别(application)运行使用 CPU 总时间的百分比。

 

%nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。

 

%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比。

 

%iowait:显示用于等待I/O操作占用 CPU 总时间的百分比。

 

%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。

 

%idle:显示 CPU 空闲时间占用 CPU 总时间的百分比。

 

1. 若 %iowait 的值过高,表示硬盘存在I/O瓶颈

 

2. 若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量

 

3. 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU 。

 

如果要看单个CPU的话,可以使用-P参数

 

[[email protected] vhosts]# sar -u -P ALL 1 1       ALL表示所有,可以用数字表示单个cpu

 

Linux 2.6.32-279.el6.x86_64 (CHN-DD-00-E4-01)  07/22/15     _x86_64_ (8 CPU)

 

 

 

15:15:55        CPU     %user     %nice   %system   %iowait    %steal     %idle

 

15:15:56        all      0.12      0.00      0.12      0.00      0.00     99.75

 

15:15:56          0      0.99      0.00      0.99      0.00      0.00     98.02

 

15:15:56          1      0.00      0.00      0.00      0.00      0.00    100.00

 

15:15:56          2      0.00      0.00      0.00      0.00      0.00    100.00

 

15:15:56          3      0.99      0.00      0.99      0.00      0.00     98.02

 

15:15:56          4      0.00      0.00      0.00      0.00      0.00    100.00

 

15:15:56          5      0.00      0.00      0.00      0.00      0.00    100.00

 

15:15:56          6      0.00      0.00      0.00      0.00      0.00    100.00

 

15:15:56          7      0.00      0.00      0.00      0.00      0.00    100.00

 

 

 

Average:        CPU     %user     %nice   %system   %iowait    %steal     %idle

 

Average:        all      0.12      0.00      0.12      0.00      0.00     99.75

 

Average:          0      0.99      0.00      0.99      0.00      0.00     98.02

 

Average:          1      0.00      0.00      0.00      0.00      0.00    100.00

 

Average:          2      0.00      0.00      0.00      0.00      0.00    100.00

 

Average:          3      0.99      0.00      0.99      0.00      0.00     98.02

 

Average:          4      0.00      0.00      0.00      0.00      0.00    100.00

 

Average:          5      0.00      0.00      0.00      0.00      0.00    100.00

 

Average:          6      0.00      0.00      0.00      0.00      0.00    100.00

 

Average:          7      0.00      0.00      0.00      0.00      0.00    100.00

 

 

 

2)查看负载

 

[[email protected] ~]# sar -q  1 5

 

Linux 2.6.32-279.el6.x86_64 (yzyyyyyyyyyyyyyyyyyyy)    07/22/15     _x86_64_ (8 CPU)

 

 

 

15:20:02      runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15

 

15:20:03            1       260      1.00      1.00      1.00

 

15:20:04            1       260      1.00      1.00      1.00

 

15:20:05            1       260      1.00      1.00      1.00

 

15:20:06            1       260      1.00      1.00      1.00

 

15:20:07            1       260      1.00      1.00      1.00

 

Average:            1       260      1.00      1.00      1.00

 

输出项解释:

 

runq-sz       运行队列的长度
plist-sz      进程的数量
ldavg-1       1分钟内的负载
ldavg-5       5分钟内的负载
ldavg-15      15分钟内的负载

 

 

 

3)查看磁盘I/O

 

[[email protected] ~]# sar -b 1 5

 

Linux 2.6.32-279.el6.x86_64 (jjjjjjjjjj)  07/22/15     _x86_64_ (24 CPU)

 

 

 

15:35:48          tps      rtps      wtps   bread/s   bwrtn/s

 

15:35:49         0.00      0.00      0.00      0.00      0.00

 

15:35:50         4.00      0.00      4.00      0.00     88.00

 

15:35:51         0.00      0.00      0.00      0.00      0.00

 

15:35:52         0.00      0.00      0.00      0.00      0.00

 

15:35:53         0.00      0.00      0.00      0.00      0.00

 

Average:         0.80      0.00      0.80      0.00     17.60

 

 

 

输出项解释:

 

tps:每秒读物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的.
rtps:每秒的读请求数
wtps:每秒的写请求数
bread/s:每秒读磁盘的数据块数(in blocks  1 block = 512B, 2.4以后内核)
bwrtn/s:每秒写磁盘的数据块数(in blocks  1 block = 512B, 2.4以后内核)
一般情况下tps=(rtps+wtps)

 

 

 

4)查看内存和swap空间使用

 

[[email protected] ~]# sar -r 1 5

 

Linux 2.6.32-279.el6.x86_64 (yzyyyyyyyyyyyyyyyyyyy)  07/22/15   _x86_64_   (8 CPU)

 

 

 

15:45:37    kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit

 

15:45:38      3731792  29131096     88.64    382956  27130444    224160      0.60

 

15:45:39      3731916  29130972     88.64    382956  27130444    224160      0.60

 

15:45:40      3729888  29133000     88.65    382956  27130444    226228      0.61

 

15:45:41      3729736  29133152     88.65    382956  27130452    226228      0.61

 

15:45:42      3729860  29133028     88.65    382956  27130452    226228      0.61

 

Average:      3730638  29132250     88.65    382956  27130447    225401      0.61

 

输出项解释:

 

kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.
kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.
%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比.
kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.
kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).
%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.

 

 

 

5)查看网卡流量

 

[[email protected] ~]# sar -n DEV 1 1

 

Linux 2.6.32-279.el6.x86_64 (jjjjjjjjjj)  07/23/15     _x86_64_ (24 CPU)

 

 

 

17:39:13        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s

 

17:39:14           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

 

17:39:14          em1      8.00      2.00      0.64      0.30      0.00      0.00      2.00

 

17:39:14          em2      6.00      0.00      0.57      0.00      0.00      0.00      5.00

 

17:39:14          em3      0.00      0.00      0.00      0.00      0.00      0.00      0.00

 

17:39:14          em4      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:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

 

Average:          em1      8.00      2.00      0.64      0.30      0.00      0.00      2.00

 

Average:          em2      6.00      0.00      0.57      0.00      0.00      0.00      5.00

 

Average:          em3      0.00      0.00      0.00      0.00      0.00      0.00      0.00

 

Average:          em4      0.00      0.00      0.00      0.00      0.00      0.00      0.00

 

输出参数解释:

 

IFACE:网卡名字

 

rxpck/s:每秒钟接收到的包数目

 

txpck/s:每秒钟发送出去的包数目

 

rxbyt/s:每秒钟接收到的字节数

 

txbyt/s:每秒钟发送出去的字节数

 

rxcmp/s:每秒钟接收到的压缩包数目

 

txcmp/s:每秒钟发送出去的压缩包数目

 

txmcst/s:每秒钟接收到的多播包的包数目

 

以上是关于sar命令的主要内容,如果未能解决你的问题,请参考以下文章

sar命令详解

Linux sar命令

Linux sar 命令详解

sar命令和nload命令

sar命令使用

SAR命令