logo资料库

linux中查看io的相关命令.doc

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
最近一台 linux 服务器出现异常,系统反映很慢,相应的应用程序也无法反映,而且还出现 死机的情况,经过几天的观察了解,发现服务器压力很大,主要的压力来自硬盘的 IO 访问 已经达到 100% 为了方便各位和自己今后遇到此类问题能尽快解决,我这里将查看 linux 服务器硬盘 IO 访问负荷的方法同大家一起分享: 首先 、用 top 命令查看 top - 16:15:05 up 6 days, 6:25, 2 users, load average: 1.45, 1.77, 2.14 Tasks: 147 total, 1 running, 146 sleeping, 0 stopped, 0 zombie Cpu(s): 0.2% us, 0.2% sy, 0.0% ni, 86.9% id, 12.6% wa, 0.0% hi, 0.0% si Mem: 4037872k total, 4003648k used, 34224k free, 5512k buffers Swap: 7164948k total, 629192k used, 6535756k free, 3511184k cached 查看 12.6% wa IO 等待所占用的 CPU 时间的百分比,高过 30%时 IO 压力高 其次、 用 iostat -x 1 10 如果 iostat 没有,要 yum install sysstat avg-cpu: %user %nice %sys %iowait %idle 0.00 0.00 0.25 33.46 66.29 Device: rrqm/s wrqm/s avgrq-sz avgqu-sz await r/s svctm %util w/s rsec/s wsec/s rkB/s wkB/s sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb 0.00 1122 17.00 9.00 192.00 9216.00 96.00 4608.00 123.79 137.23 1033.43 13.17 100.10 sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 查看%util 100.10 %idle 66.29
如果 %util 接近 100%,说明产生的 I/O 请求太多,I/O 系统已经满负荷,该磁盘可 能存在瓶颈。 idle 小于 70% IO 压力就较大了,一般读取速度有较多的 wait. 同时可以结合 vmstat 查看查看 b 参数(等待资源的进程数) vmstat -1 如果你想对硬盘做一个 IO 负荷的压力测试可以用如下命令 time dd if=/dev/zero bs=1M count=2048 of=direct_2G 此命令为在当前目录下新建一个 2G 的文件 我们在新建文件夹的同时来测试 IO 的负荷情况 再通过如下脚本查看高峰的进程 io 情况 monitor_io_stats.sh #!/bin/sh /etc/init.d/syslog stop echo 1 > /proc/sys/vm/block_dump sleep 60 dmesg | awk '/(READ|WRITE|dirtied)/ {process[{GetProperty(Content)}]++} END {for (x in process) \ print process[x],x}' |sort -nr |awk '{print $2 " " {GetProperty(Content)}}' | \ head -n 10 echo 0 > /proc/sys/vm/block_dump /etc/init.d/syslog start 或者用 iodump.pl 脚本
分享到:
收藏