LINUX总结检查性能步骤:
1、首先使用SAR命令 sar -u
1)、检查 %idle(如果大于80%),那么CPU就没有瓶颈。否则IO或者内存有瓶颈。
2)、%idle比较小,CPU可能存在瓶颈。再检查 %user,如果大的话就可以定位到是因为应用引起CPU有瓶颈。
如果%iowait比较大的话,那有可能因为硬盘IO引起的。这个值可以作为参考值
[root@oracle10g ~]# sar -u 1 10
Linux 2.6.18-53.el5 (oracle10g) 03/29/2013
03:18:42 AM CPU %user %nice %system %iowait %steal %idle
03:18:43 AM all 0.00 0.00 1.01 0.00 0.00 98.99
2、使用sar -d
[root@oracle10g ~]# sar -d 1 5
Linux 2.6.18-53.el5 (oracle10g) 03/29/2013
03:20:55 AM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
03:20:56 AM dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
1)、检查 %util 是否比较高(大约80%),代表硬盘比较繁忙,但还需要观察await两个值,如果await的值比较小,只能代表硬盘效率高。一般情况下,svctm和await值差不多大,但长期出现avwait> svctm,那么基本上可以确定是IO有瓶颈。
该磁盘为swap空间 该磁盘瓶颈很可能是由内存瓶颈间接造成的,去到第六步来确认。?
计算问题磁盘的blks/s *?该磁盘不是swap空间 512,分析当前的实际应用带宽,并与磁盘柜的设计值比较,作为进一步消除瓶颈的依据。如果现实值与设计值相差太远,说明磁盘环境的拓扑/参数设置可能不合理,要做进一步分析。
2)这里可以接着使用IOSTAT检查硬盘的带宽。
3、使用vmstat
[root@oracle10g ~]# vmstat 1 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 412836 40548 200368 0 0 17 3 1014 14 0 0 99 1 0
0 0 0 412836 40548 200368 0 0 0 0 1009 11 0 0 100 0 0
1)如果so(代表从SWAP区进入内存的值)比较大,那么可以确认是内存存在瓶颈。
2)如果so的值小,结合第一步的结果分析,如果这时%idle值很低,说明是CPU瓶颈;否则就既不是内存瓶颈,也不是CPU或磁盘瓶颈,要看看网络或应用编码方面的问题了。
HP-UX平台
第一步
执行 #sar –u [interval] [iterations]
(例如:sar –u 5 30)
结果分析:%idle值低吗?长时间内%idle值<5说明CPU很可能有瓶颈。
?%idle值高 系统没有CPU瓶颈,去到第三步
系统可能的瓶颈存在于CPU、memory或I/O中间,去到第?%idle值低 二步
第二步
续第一步结果分析:%usr值高吗?长时间内%usr>80说明CPU资源基本上被用户进程占用,CPU存在明显瓶颈。
%usr值长时间>80 系统存在CPU瓶颈?
%usr值很少>?80 系统可能的瓶颈存在于CPU、memory或I/O中间,去到第三步
第三步
续第一步结果分析:%wio值>15?
?是 这是磁盘有瓶颈的信号,先记下来,待完成下面步骤后再综合分析。去到第四步
去到第四步?否
第四步
执行 #sar –d [interval] [iterations]
(例如:sar –d 5 30)
结果分析:有磁盘的%busy值经常大于50吗?对于该磁盘,是否同时存在其avwait>avserv的现象?(因为涉及到physical IO和logical IO的配置平衡,以及buffer page/swap空间/异步读写等问题,磁盘瓶颈很难通过单一因素判断,50%只是一个大概的评估标准,要结合具体情况综合分析。有时候,%busy仅仅为20就已经是磁盘瓶颈,而另外的我们认为磁盘工作正常的系统,%busy值很可能已达到80)。
是 系统很可能存在I/O瓶颈,去到第五步?
?否 基本上认为不存在磁盘瓶颈,去到第六步
第五步
系统存在磁盘瓶颈。让我们来看看深层原因,
该磁盘为swap空间 该磁盘瓶颈很可能是由内存瓶颈间接造成的,去到第六步来确认。?
计算问题磁盘的blks/s *?该磁盘不是swap空间 512,分析当前的实际应用带宽,并与磁盘柜的设计值比较,作为进一步消除瓶颈的依据。如果现实值与设计值相差太远,说明磁盘环境的拓扑/参数设置可能不合理,要做进一步分析。
第六步
执行 #vmstat [interval] [iterations]
(例如:vmstat 5 30)
结果分析:
1,po值经常大于0吗?
2,对于S800系统,(free * 4K) < 2MB吗?(第一个问题是关键;第二个问题的结果仅作参考)
?否 结合第一步的结果分析,如果这时%idle值很低,说明是CPU瓶颈;否则就既不是内存瓶颈,也不是CPU或磁盘瓶颈,要看看网络或应用编码方面的问题了。
?是 系统存在内存瓶颈。