Linux命令扫盲 之 sar
转自:http://blog.sina.com.cn/s/blog_54108600010143ln.html
今天在读《大规模Web服务开发技术》一书的时候,书中提到了sar这个命令,感觉很有用,有必要整理学习一下。(对于一位Linux初学者,不能放过任何一个学习机会:P)
打开自己的CentOS,敲入“sar”,表示很失望:
[root@localhost~]#sar
bash:sar:commandnotfound
竟然没有安装,不过还好linux下安装还是非常方便的。
[root@localhost~]#yuminstallsysstat
Loadedplugins:fastestmirror
Loadingmirrorspeedsfromcachedhostfile
........................
Complete!
注:Sar是后台进程sadc的前端显示工具,安装名为“sysstat”的包后,sadc就会自动从内核收集报告并保存。
下面对sar的一般用法进行总结,以备忘之。
安装好后输入sar出现以下情况
[root@localhost]#sar
Cannotopen/var/log/sa/sa05:Nosuchfileordirectory
sar命令Cannotopen/var/log/sa/sa*:Nosuchfileordirectory
发现/var/log下没有sa文件夹,建了一个,再运行#sar-o24(24为当天日期)就OK了。
sar–u查看CPU使用率
[root@localhost~]#sar-u
Linux2.6.18-194.26.1.el5(localhost)2012年04月29日
09时39分42秒LINUXRESTART
09时40分01秒CPU%user%nice%system%iowait%steal%idle
09时50分01秒all0.140.000.580.120.0099.15
10时00分01秒all0.060.000.500.160.0099.27
10时10分01秒all0.110.060.952.580.0096.30
10时20分01秒all0.120.190.821.410.0097.46
10时30分01秒all0.140.000.540.120.0099.20
10时40分01秒all0.150.000.540.160.0099.15
Average:all0.120.040.650.760.0098.43
这里:
%user:用户模式下消耗的CPU时间的比例;
%nice:通过nice改变了进程调度优先级的进程,在用户模式下消耗的CPU时间的比例;
%system:系统模式下消耗的CPU时间的比例;
%iowait:CPU等待磁盘I/O而导致空闲状态消耗时间的比例;
%steal:利用Xen等操作系统虚拟化技术时,等待其他虚拟CPU计算占用的时间比例;
%idle:CPU没有等待磁盘I/O等的空闲状态消耗的时间比例;
注:
如果%iowait的值过高,表示硬盘存在I/O瓶颈
如果%idle的值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量
如果%idle的值持续低于10,则系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
sar–q查看平均负荷
[root@localhost~]#sar-q
Linux2.6.18-194.26.1.el5(localhost)2012年04月29日
09时39分42秒LINUXRESTART
09时40分01秒runq-szplist-szldavg-1ldavg-5ldavg-15
09时50分01秒01520.000.020.05
10时00分01秒01520.000.000.00
10时10分01秒01560.390.090.03
10时20分01秒01510.000.030.01
10时30分01秒01510.000.000.00
10时40分01秒01510.000.000.00
10时50分01秒01510.000.000.00
Average:01520.060.020.01
runq-sz:运行队列的长度(等待运行的进程数)
plist-sz:进程列表中进程(processes)和线程(threads)的数量
ldavg-1:最后1分钟的系统平均负载(Systemloadaverage)
ldavg-5:过去5分钟的系统平均负载
ldavg-15:过去15分钟的系统平均负载
sar–r查看内存使用情况
[root@localhost~]#sar-r
Linux2.6.18-194.26.1.el5(localhost)2012年04月29日
09时39分42秒LINUXRESTART
09时40分01秒kbmemfreekbmemused%memusedkbbufferskbcachedkbswpfreekbswpused%swpusedkbswpcad
09时50分01秒48157255349253.4735592384508209714400.000
10时00分01秒48096055410453.5336032384512209714400.000
10时10分01秒40495263011260.8877764399432209714400.000
10时20分01秒37582465924063.6987356410892209714400.000
10时30分01秒37186066320464.0787756411064209714400.000
…
kbmemfree:空闲物理内存量;
kbmemused:使用中的物理内存量;
%memused:物理内存量使用率;
kbbuffers:内核中作为缓冲区使用的物理内存容量;
kbcacheed:内核中作为缓存使用的物理内存容量;
kbswpfree:交换区的空闲容量;
kbswpused:使用中的交换区容量;
sar–W查看页面交换发生状况
[root@localhost~]#sar-W
14时30分01秒pswpin/spswpout/s
14时40分01秒0.000.00
14时50分01秒0.000.00
15时00分01秒0.000.00
Average:0.000.00
…
sar–b查看I/O和传送速率的统计信息
[root@localhost~]#sar-b15
Linux2.6.18-194.26.1.el5(localhost)2012年04月29日
15时08分18秒tpsrtpswtpsbread/sbwrtn/s
15时08分19秒0.000.000.000.000.00
15时08分20秒0.000.000.000.000.00
15时08分21秒0.000.000.000.000.00
15时08分22秒13.270.0013.270.00220.41
15时08分23秒0.000.000.000.000.00
Average:2.660.002.660.0044.17
tps:每秒钟物理设备的I/O传输总量
rtps:每秒钟从物理设备读入的数据总量
wtps:每秒钟向物理设备写入的数据总量
bread/s:每秒钟从物理设备读入的数据量,单位为块/s
bwrtn/s:每秒钟向物理设备写入的数据量,单位为块/s
其他还有:
sar–c每秒钟创建的进程数
sar-nDEV输出网络设备状态的统计信息
注:默认情况是对过去时间段进行数据统计,一般从最近的0:00开始显示。如果想继续查看一天前的报告,可以用-f选项指定保存在/var/log/sa目录下的日志文件中。如果想周期性的查看当前数据可以命令后面加上数字参数,如sar–q13,表示:1秒1次,共3次。