sjpeter 2014-03-07
原链:http://blog.163.com/herod_xiao/blog/static/871883992009112843238433/
最近一台linux服务器出现异常,系统反映很慢,相应的应用程序也无法反映,而且还出现死机的情况,经过几天的观察了解,发现服务器压力很大,主要的压力来自硬盘的IO访问已经达到100%
为了方便各位和自己今后遇到此类问题能尽快解决,我这里将查看linux服务器硬盘IO访问负荷的方法同大家一起分享:
首先、用top命令查看
top-16:15:05up6days,6:25,2users,loadaverage:1.45,1.77,2.14
Tasks:147total,1running,146sleeping,0stopped,0zombie
Cpu(s):0.2%us,0.2%sy,0.0%ni,86.9%id,12.6%wa,0.0%hi,0.0%si
Mem:4037872ktotal,4003648kused,34224kfree,5512kbuffers
Swap:7164948ktotal,629192kused,6535756kfree,3511184kcached
查看12.6%wa
IO等待所占用的CPU时间的百分比,高过30%时IO压力高
其次、用iostat-x110
avg-cpu:%user%nice%sys%iowait%idle
0.000.000.2533.4666.29
Device:rrqm/swrqm/sr/sw/srsec/swsec/srkB/swkB/savgrq-szavgqu-szawaitsvctm%util
sda0.000.000.000.000.000.000.000.000.000.000.000.000.00
sdb0.00112217.009.00192.009216.0096.004608.00123.79137.231033.4313.17100.10
sdc0.000.000.000.000.000.000.000.000.000.000.000.000.00
查看%util100.10%idle66.29
如果%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。
idle小于70%IO压力就较大了,一般读取速度有较多的wait.
同时可以结合vmstat查看查看b参数(等待资源的进程数)
vmstat-1
如果你想对硬盘做一个IO负荷的压力测试可以用如下命令
timeddif=/dev/zerobs=1Mcount=2048of=direct_2G
此命令为在当前目录下新建一个2G的文件
我们在新建文件夹的同时来测试IO的负荷情况