经常碰见服务器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