使用 SAR 进行简单的系统监视
2008-09-06 08:21:40 来源:WEB开发网清单 2. sar 的缺省输出(显示了 CPU 使用情况)
-bash-3.00$ sar
SunOS unknown 5.10 Generic_118822-23 sun4u 01/20/2006
00:00:01 %usr %sys %wio %idle
00:10:00 0 0 0 100
. cut ...
09:30:00 4 47 0 49
Average 0 1 0 98
sar 命令输出中的每一行都是一项单独的度量,并且在最左边的列中显示了时间戳。其他列中则存放了相应的数据。(根据命令行所使用参数的不同,这些列也会有所不同。)在清单 2 中,CPU 使用情况被分解为四种类别:
%usr: CPU 花费在用户进程(如应用程序、Shell 脚本或与该用户进行的交互)上的时间的百分比。
%sys: CPU 用来执行核心任务的时间的百分比。在本示例中该数字比较大,这是因为我正从核心随机数生成器获取数据。
%wio: CPU 等待块设备(如磁盘)输入或输出的时间的百分比。
%idle: CPU 未进行任何有用操作的时间的百分比。
最后一行是所有数据点的平均值。然而,因为大多数系统都会在忙时间段后经历空闲时间段,所以平均值并不能反映完整的情况。
监视磁盘活动
同时,对磁盘活动也进行了监视。高磁盘使用率意味着,从磁盘请求数据的应用程序更有可能会被阻塞(暂停),直到磁盘为该进程做好准备。通常,解决方案涉及到将文件系统拆分到不同的磁盘或阵列。然而,第一步是要知道出现了问题。
sar -d 的输出显示了一个度量时间段内各种与磁盘相关的统计数据。为了更加简洁,清单 3 仅显示了硬盘驱动器的活动。
清单 3. sar -d 的输出(显示了磁盘活动)
$ sar -d
SunOS unknown 5.10 Generic_118822-23 sun4u 01/22/2006
00:00:01 device %busy avque r+w/s blks/s avwait avserv
. cut ...
14:00:02 dad0 31 0.6 78 16102 1.9 5.3
dad0,c 0 0.0 0 0 0.0 0.0
dad0,h 31 0.6 78 16102 1.9 5.3
dad1 0 0.0 0 1 1.6 1.3
dad1,a 0 0.0 0 1 1.6 1.3
dad1,b 0 0.0 0 0 0.0 0.0
dad1,c 0 0.0 0 0 0.0 0.0
更多精彩
赞助商链接