linux sar命令介绍( 三 )


sar-d来看;
Sar
-A 所有的报告总和
-a 文件读 , 写报告
-B 报告附加的buffer cache使用情况
-b buffer cache使用情况
-c 系统调用使用报告
-d 硬盘使用报告
-g 有关串口I/O情况
-h 关于buffer使用统计数字
-m IPC消息和信号灯活动
-n 命名cache
-p 调页活动
-q 运行队列和交换队列的平均长度
-R 报告进程的活动
-r 没有使用的内存页面和硬盘块
-u CPU利用率
-v 进程 , i节点 , 文件和锁表状态
-w 系统交换活动
-y TTY设备活动
-a 报告文件读 , 写报告
sar –a 5 5
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/07/2002
11:45:40 iget/s namei/s dirbk/s (-a)
11:45:45 6 2 2
11:45:50 91 20 28
11:45:55 159 20 18
11:46:00 157 21 19
11:46:05 177 30 35
Average 118 18 20
iget/s 每秒由i节点项定位的文件数量
namei/s 每秒文件系统路径查询的数量
dirbk/s 每秒所读目录块的数量
*这些值越大 , 表明核心花在存取用户文件上的时间越多 , 它反映着一些程序和应用文件系统产生的负荷 。一般地 , 如果iget/s与namei/s的比值大于5 , 并且namei/s的值大于30 , 则说明文件系统是低效的 。这时需要检查文件系统的自由空间 , 看看是否自由空间过少 。
-b 报告缓冲区(buffer cache)的使用情况
sar -b 2 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/07/2002
13:51:28 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s (-b)
13:51:30 382 1380 72 131 273 52 0 0
13:51:32 378 516 27 6 22 72 0 0
13:51:34 172 323 47 39 57 32 0 0
Average 310 739 58 58 117 50 0 0
bread/s 平均每秒从硬盘(或其它块设备)读入系统buffer的物理块数
lread/s 平均每秒从系统buffer读出的逻辑块数
%rcache 在buffer cache中进行逻辑读的百分比(即100% - bread/lreads)
bwrit/s 平均每秒从系统buffer向磁盘(或其它块设备)所写的物理块数
lwrit/s 平均每秒写到系统buffer的逻辑块数
%wcache 在buffer cache中进行逻辑写的百分比(即100% - bwrit/lwrit).
pread/sgu 平均每秒请求进行物理读的次数
pwrit/s 平均每秒请求进行物理写的次数
*所显示的内容反映了目前与系统buffer有关的读 , 写活 。在所报告的数字中 , 最重要的是%rcache和%wcache(统称为cache命中率)两列 , 它们具体体现着系统buffer的效率 。衡量cache效率的标准是它的命中率值的大小 。
*如果%rcache的值小于90或者%wcache的值低于65 , 可能就需要增加系统buffer的数量 。如果在系统的应用中 , 系统的I/O活动十分频繁 , 并且在内存容量配置比较大时 , 可以增加buffer cache , 使%rcache达到95左右 , %wcache达到80左右 。
*系统buffer cache中 , buffer的数量由核心参数NBUF控制 。它是一个要调的参数 。系统中buffer数量的多少是影响系统I/O效率的瓶颈 。要增加系统buffer数量 , 则要求应该有较大的内存配置 。否则一味增加buffer数量 , 势必减少用户进程在内存中的运行空间 , 这同样会导致系统效率下降 。
-c 报告系统调用使用情况
sar -c 2 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/07/2002
17:02:42 scall/s sread/s swrit/s fork/s exec/s rchar/s wchar/s (-c)
17:02:44 2262 169 141 0.00 0.00 131250 22159
17:02:46 1416 61 38 0.00 0.00 437279 6464
17:02:48 1825 43 25 0.00 0.00 109397 42331
Average 1834 91 68 0.00 0.00 225975 23651
scall/s 每秒使用系统调用的总数 。一般地 , 当4~6个用户在系统上工作时 , 每秒大约30个左右 。
sread/s 每秒进行读操作的系统调用数量 。

推荐阅读