<转>查看linux服务器硬盘IO读写负载

原链: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的负荷情况

相关推荐