wwater 2011-11-21
一、sar 命令行的常用格式:
sar [options] [-A] [-o file] t [n]
在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。options 为命令行选项,sar命令的选项很多,下面只列出常用选项:
-A:所有报告的总和。
-u:CPU利用率
-v:进程、I节点、文件和锁表状态。
-d:硬盘使用报告。
-r:没有使用的内存页面和硬盘块。
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
-R:进程的活动情况。
-y:终端设备活动情况。
-w:系统交换活动。二、分析经验性步骤:
首先查看 CPU使用情况,按照诊断CPU、内存或磁盘瓶颈的指导进行操作。对于下面的每个步骤,查找一端时间内的趋势,从中收集系统运行性能较差时的数据。另外,只有将这些数据与系统正常运行时收集的数据进行比较时才能进行准确的诊断。
步骤 1
# sar -u [interval][iterations]
(示例:sar-u530)
%idle 是否很低? 这是CPU 未在运行任何进程的时间百分比。在一端时间内 %idle 为零可能是CPU 瓶颈的第一个指示。不是 -> 系统未发生CPU 瓶颈。转至步骤 3。是-> 系统可能发生了CPU、内存或 I/O瓶颈。转至步骤 2。
步骤 2
%usr 是否较高?很多系统正常情况下花费 80%的 CPU 时间用于用户,20% 用于系统。其他系统通常会使用80% 左右的用户时间。
不是 -> 系统可能遇到CPU、内存或 I/O瓶颈。转至步骤 3。是-> 系统可能由于用户进程遇到CPU 瓶颈。调整系统的 CPU瓶颈。
步骤 3
%wio的值是否大于 15?(不同os有不同的阀值)
是 ->以后记住这个值。它可能表示磁盘或磁带瓶颈。转至步骤4。不是-> 转至步骤 4。
步骤 4
# sar -d [interval][iterations]用于任何磁盘的%busy 是否都大于50? (请记住,50%指示一个大概的 指南,它可能远远高于您系统的正常值。在某些系统上,甚至%busy 值为 20可能就表示发生了磁盘瓶颈,而其他系统正常情况下可能就为50% busy。)对于同一个磁盘上,avwait是否大于 avserv?
不是 ->很可能不是磁盘瓶颈,转至步骤 6。
是->此设备上好像发生了IO瓶颈。
转至步骤5。步骤 5
系统上存在磁盘瓶颈,发生瓶颈的磁盘上有哪些内容?
原始分区,文件系统-> 调整发生磁盘 IO瓶颈的系统。
Swap->可能是由于内存瓶颈导致的。
转至步骤6。步骤 6
# vmstat [interval][iterations]
在很长的一端时间内,po是否总是大于0?
对于一个s800系统(free*4k)是否小于2MB,
(对于s700系统free*4k是否小于1MB)?
(值2 MB 和 1MB 指示大概的指南,真正的 LOTSFREE值,即系统开始发生 paging的值是在系统引导时计算的,它是基于系统内存的大小的。)不是 -> 如果步骤1 中的 %idle较低,系统则很可能发生了 CPU瓶颈,调整发生了CPU 瓶颈的系统。
如果%idle不是很低,则可能不是CPU、磁盘IO或者内存瓶颈。
是-> 系统上存在内存瓶颈,调整发生内存瓶颈的系统。