sar是System Activity Reporter(系统活动情况报告)的缩写。顾名思义,sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等,使用也是较为复杂。
sar参数说明 选项 功能 -A 汇总所有的报告 -a 报告文件读写使用情况 -B 报告附加的缓存的使用情况 -b 报告缓存的使用情况 -c 报告系统调用的使用情况 -d 报告磁盘的使用情况 -g 报告串口的使用情况 -h 报告关于buffer使用的统计数据 -m 报告IPC消息队列和信号量的使用情况 -n 报告命名cache的使用情况 -p 报告调页活动的使用情况 -q 报告运行队列和交换队列的平均长度 -R 报告进程的活动情况 -r 报告没有使用的内存页面和硬盘块 -u 报告CPU的利用率 -v 报告进程、i节点、文件和锁表状态 -w 报告系统交换活动状况 -y 报告TTY设备活动状况 sar的语法如下: sar [-option] [-o file] t [n] 它的含义是每隔t秒取样一次,共取样n次。其中-o file表示取样结果将以二进制形式存入文件file中。 另一种语法如下: sar [-option] [-s time] [-e time] [-i sec] [-f file] 含义是表示从file文件中取出数据,如果没有指定-f file,则从标准数据文件/var/adm/sa/sadd取数据,其中dd表示当前天。另外,-s time表示起始时间;-e time表示停止时间;-i sec表示取样的时间间隔,如果不指定则表示取文件中所有的数据。对于具体的选项参见表1。 一般它与-q和-u联合使用,以便对每个CPU的使用情况进行分析,比如运行如下命令: sar -q -u 5 1 将输出如下: Linux 2.4.18-18smp (builder.linux.com) 2003年03月07日 09时46分16? CPU %user %nice %system %idle 09时46分21? all 0.20 0.00 0.00 99.80 09时46分16? runq-sz plist-sz ldavg-1 ldavg-5 09时46分21? 0 91 0.00 0.00 Average: CPU %user %nice %system %idle Average: all 0.20 0.00 0.00 99.80 Average: runq-sz plist-sz ldavg-1 ldavg-5 Average: 0 91 0.00 0.00 由于sar命令太复杂,只有通过熟练使用才能了解每个选项的含义,对于sar输出中每个字段的含义运行man sar命令可以得到详细的解释。
|