经常碰见服务器IO比较慢,这个是最不能忍受的,因为基本的命令行操作都会非常慢。

网上搜了下,可以按照这个方式直接找出耗IO最高的进程名。

1.先停掉syslog然后打开block dump

service syslog stop

echo 1 > /proc/sys/vm/block_dump

2.从dmesg的中找到消耗IO的进程

dmesg | grep -E “READ|WRITE|dirtied” | grep -E -o ‘([a-zA-Z]*)’ | sort |uniq -c|sort -k1 -gr

排前的比较占用io。如果只想关系到读或者写的也可以直接只搜READ和WRITE。

3.恢复系统。

echo 0 > /proc/sys/vm/block_dump

service syslog start