整理sar的基本用法

来源:互联网 发布:安史之乱 知乎 编辑:程序博客网 时间:2024/06/07 09:04

        sar是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/OCPU效率、内存使用状况、进程活动及IPC有关的活动等。

        sar常用命令项如下:

-A:所有报告的总和

-u:输出CPU使用情况的统计信息

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

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

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

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

-a:文件读写情况

-c:输出进程统计信息,每秒创建的进程数

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

-y:终端设备活动情况

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

CPU资源监控

[root@centos6-mysql-172 ~]# sar -u 1 -o cpuLinux 3.2.0+ (centos6-mysql-172)        10/31/2013      _x86_64_        (1 CPU)10:54:39 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle10:54:40 AM     all      0.00      0.00     36.90     63.10      0.00      0.0010:54:41 AM     all      0.00      0.00     35.71     64.29      0.00      0.0010:54:42 AM     all      0.00      0.00     34.52     65.48      0.00      0.0010:54:43 AM     all      1.19      0.00     34.52     64.29      0.00      0.0010:54:44 AM     all      0.00      0.00     34.12     65.88      0.00      0.0010:54:45 AM     all      0.00      0.00     35.71     64.29      0.00      0.0010:54:46 AM     all      0.00      0.00     34.94     65.06      0.00      0.0010:54:47 AM     all      0.00      0.00     35.29     64.71      0.00      0.00


sar的输出结果以二进制的形式存放于cpu文件中,输出结果说明如下:

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文件中的采集信息,键入下述命令

sar -u -f cpu


内核表监控

[root@centos6-mysql-172 ~]# sar -v 1Linux 3.2.0+ (centos6-mysql-172)        10/31/2013      _x86_64_        (1 CPU)10:59:01 AM dentunusd   file-nr  inode-nr    pty-nr10:59:02 AM      5769       736     11728         210:59:03 AM      5769       736     11728         210:59:04 AM      5769       736     11728         210:59:05 AM      5769       736     11728         210:59:06 AM      5769       736     11728         210:59:07 AM      5769       736     11728         210:59:08 AM      5769       736     11728         2


参数说明

dentunusd:目录高速缓存中未被使用的条目数量

file-nr:文件句柄(file handle)的使用数量

inode-nr:索引节点句柄(inode handle)的使用数量

pty-nr:使用的pty数量

 

内存、交换空间监控

[root@centos6-mysql-172 ~]# sar -r 1Linux 3.2.0+ (centos6-mysql-172)        10/31/2013      _x86_64_        (1 CPU)11:00:16 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit11:00:17 AM     67244   1988488     96.73   1293176    519988    191156      4.6011:00:18 AM     70344   1985388     96.58   1290324    519992    191156      4.6011:00:19 AM     72700   1983032     96.46   1288060    519992    191156      4.6011:00:20 AM     75304   1980428     96.34   1285228    519964    191156      4.6011:00:21 AM     67740   1987992     96.70   1292728    519956    191156      4.6011:00:22 AM     69724   1986008     96.61   1290480    519960    191156      4.6011:00:23 AM     73940   1981792     96.40   1286608    520004    191156      4.6011:00:24 AM     67988   1987744     96.69   1292464    519948    191156      4.6011:00:25 AM     71088   1984644     96.54   1289392    519992    191156      4.6011:00:26 AM     74312   1981420     96.39   1286112    520004    191156      4.60


参数说明

kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.

kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.

%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比.

kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.

kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).

%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.

 

内存分页监控

[root@centos6-mysql-172 ~]# sar  -B 1Linux 3.2.0+ (centos6-mysql-172)        10/31/2013      _x86_64_        (1 CPU)11:01:17 AM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff11:01:18 AM      0.00 117028.57     45.24      0.00  27979.76  26345.24      0.00  26345.24    100.0011:01:19 AM      0.00 117028.57     46.43      0.00  30550.00  28780.95      0.00  28780.95    100.0011:01:20 AM      0.00 118438.55     37.35      0.00  31907.23  29939.76      0.00  29939.76    100.0011:01:21 AM      0.00 117042.86     36.90      0.00  30463.10  28526.19      0.00  28526.19    100.0011:01:22 AM      0.00 102400.00     38.75      0.00  29227.50  27390.00      0.00  27390.00    100.0011:01:23 AM      0.00 114306.98     36.05      0.00  29694.19  27945.35      0.00  27945.35    100.0011:01:24 AM      0.00 118438.55     37.35      0.00  31238.55  29313.25      0.00  29303.61     99.9711:01:25 AM      0.00 115651.76     36.47      0.00  30629.41  28709.41      0.00  28709.41    100.0011:01:26 AM      0.00  99907.32     37.80      0.00  31389.02  29401.22      0.00  29401.22    100.0011:01:27 AM      0.00 118438.55     37.35      0.00  28146.99  26312.05      0.00  26312.05    100.00


参数说明

pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)

pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)

fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)

majflt/s:每秒钟产生的主缺页数.

pgfree/s:每秒被放入空闲队列中的页个数

pgscank/s:每秒被kswapd扫描的页个数

pgscand/s:每秒直接被扫描的页个数

pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数

%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比

 

IO以及传输速率监控

[root@centos6-mysql-172 ~]# sar -b 1Linux 3.2.0+ (centos6-mysql-172)        10/31/2013      _x86_64_        (1 CPU)11:03:47 AM       tps      rtps      wtps   bread/s   bwrtn/s11:03:48 AM    230.49      0.00    230.49      0.00 236019.5111:03:49 AM    224.71      0.00    224.71      0.00 230098.8211:03:50 AM    227.38      0.00    227.38      0.00 232838.1011:03:51 AM    234.15      0.00    234.15      0.00 239765.8511:03:52 AM    224.71      0.00    224.71      0.00 230098.8211:03:53 AM    224.71      0.00    224.71      0.00 230098.8211:03:54 AM    215.48      0.00    215.48      0.00 220647.6211:03:55 AM    220.00      0.00    220.00      0.00 225280.0011:03:56 AM    234.57      0.00    234.57      0.00 240197.5311:03:57 AM    209.41      0.00    209.41      0.00 214437.65


参数说明

tps:每秒钟物理设备的 I/O 传输总量

rtps:每秒钟从物理设备读入的数据总量

wtps:每秒钟向物理设备写入的数据总量

bread/s:每秒钟从物理设备读入的数据量,单位为 块/s

bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s

 

进程队列、负载监控

[root@centos6-mysql-172 ~]# sar -q 1Linux 3.2.0+ (centos6-mysql-172)        10/31/2013      _x86_64_        (1 CPU)11:05:15 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-1511:05:16 AM         1       108      1.82      1.85      1.7811:05:17 AM         1       108      1.82      1.85      1.7811:05:18 AM         1       108      1.82      1.85      1.7811:05:19 AM         1       108      1.82      1.85      1.7811:05:20 AM         2       108      1.84      1.85      1.7811:05:21 AM         1       108      1.84      1.85      1.7811:05:22 AM         1       108      1.84      1.85      1.7811:05:23 AM         1       108      1.84      1.85      1.7811:05:24 AM         1       108      1.84      1.85      1.7811:05:25 AM         1       108      1.85      1.85      1.7811:05:26 AM         1       108      1.85      1.85      1.7811:05:27 AM         2       109      1.85      1.85      1.78


参数说明

runq-sz:运行队列的长度(等待运行的进程数)

plist-sz:进程列表中进程(processes)和线程(threads)的数量

ldavg-1:最后1分钟的系统平均负载(System load average)

ldavg-5:过去5分钟的系统平均负载

ldavg-15:过去15分钟的系统平均负载

 

系统交换信息监控

[root@centos6-mysql-172 ~]# sar  -W 1Linux 3.2.0+ (centos6-mysql-172)        10/31/2013      _x86_64_        (1 CPU)11:06:22 AM  pswpin/s pswpout/s11:06:23 AM      0.00      0.0011:06:24 AM      0.00      0.0011:06:25 AM      0.00      0.0011:06:26 AM      0.00      0.0011:06:27 AM      0.00      0.0011:06:28 AM      0.00      0.0011:06:29 AM      0.00      0.0011:06:30 AM      0.00      0.0011:06:31 AM      0.00      0.0011:06:32 AM      0.00      0.00


参数说明

pswpin/s:每秒系统换入的交换页面(swap page)数量

pswpout/s:每秒系统换出的交换页面(swap page)数量

 

块设备使用情况监控

[root@centos6-mysql-172 ~]# sar -d 1 -pLinux 3.2.0+ (centos6-mysql-172)        10/31/2013      _x86_64_        (1 CPU)11:08:04 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util11:08:05 AM       sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011:08:05 AM       sdb      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011:08:05 AM       sdc      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011:08:05 AM       sdd      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011:08:05 AM vg_centos6mysql1-LogVol00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011:08:05 AM       fd0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011:08:05 AM mysql-lvol0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.0011:08:05 AM       sde    234.15      0.00 239765.85   1024.00    166.32    738.41      5.20    121.83


参数说明

参数-p可以打印出sda,hdc等磁盘设备名称,如果不用参数-p,设备节点则有可能是dev8-0,dev22-0

tps:每秒从物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的.

rd_sec/s:每秒读扇区的次数.

wr_sec/s:每秒写扇区的次数.

avgrq-sz:平均每次设备I/O操作的数据大小(扇区).

avgqu-sz:磁盘请求队列的平均长度.

await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒

svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间.

%util:I/O请求占CPU的百分比,比率越大,说明越饱和.

 

 

 

 

 

原创粉丝点击