分类: LINUX
2005-09-22 20:43:26
sar一个开放源代码工具;它由 Sebastien Godard 维护。这个工具也包含于大部分 Linux 发行版本中,可用于当前的 2.4 和 2.6 内核,在red hat Linux 9.0 中是Sysstat 。也可以在其主页下载,下载链接: 。Sysstat 包括: I/O 与 CPU 统计资料的工具:iostat、mpstat(用于多处理器性能监测)。和sar 。前面我们介绍了iostat、mpstat。下面重点介绍sar。
sar是System Activity Reporter(系统活动情况报告)的缩写。顾名思义,sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。sar是读 /proc这个内存文件系统进行采样来得到数据。sar 从/var/log/sa/sadd 读取记录文件的资料。/usr/lib/sa/sadc 负责维护系统活动资料和建立这些记录文件。sar实际包括两个shell 程序/usr/lib/sa/sa1 和/usr/lib/sa/sa2。/etc/cron.d/systat 是crontab 的系统文件, 每十分钟执行sa1程序一次,然后将它的输出加到记录文件后面。Sa1 以二进制格式储存sar 所读取的资料。/usr/lib/sa/sa2将每天数据写入文件/var/log/sa/sadd。dd标示每月的日期。
sar的语法如下:
sar [-option] [-o file] t [n]
它的含义是每隔t秒取样一次,共取样n次。其中-o file表示取样结果将以二进制形式存入文件file中。Option主要选项:
-A 汇总所有的报告
-a 报告文件读写使用情况
-B 报告附加的缓存的使用情况
-b 报告缓存的使用情况
-c 报告系统调用的使用情况
应用实例:
察看内存和交换空間的使用率,使用sar -r。
# sar -r
Linux 2.4.20-8 () 20050503
12:00:01 AM kbmemfree kbmemused %memused kbmemshrd kbbuffers kbcached
12:10:00 AM 240468 1048252 81.34 0 133724 485772
12:20:00 AM 240508 1048212 81.34 0 134172 485600
…
08:40:00 PM 934132 354588 27.51 0 26080 185364
Average: 324346 964374 74.83 0 96072 467559
kbmemfree 与 kbmemused 字段分别显示内存的未使用与已使用空间,后面跟着的是已使用空间的百分比(%memused 字段)。kbbuffers 与 kbcached 字段分别显示缓冲区与系统全域的资料存取量,单位为 KB。使用 2.4 Linux 核心的系统(例如 Red Hat Linux 9),kbmemshrd 字段一律为零。
sar命令它几乎可以完成上面介绍的所有命令的功能。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等,使用也是较为复杂。sar命令非常复杂,只有通过熟练使用才能掌握。