iodump命令
iodump命令
详见:README.md · 90cc/iodump - Gitee.com
iodump -p vda1 >/tmp/iodump.txt
约1分钟后ctrl+c取消(也可以kill $pid,但不可以kill -9)
注意关注/tmp/iodump.txt大小,不要打满磁盘
[root@VM-0-16-centos x86_64]# cat /tmp/iodump.txt
datetime comm pid iosize sector rw rwsec launcher fullpath
2023-04-04T11:24:22.554278 iodump 2710 4096 18610168 W S fsync /tmp/iodump.txt
2023-04-04T11:24:22.557115 jbd2/vda1-8 291 4096 7922192 W FS ret_from_fork_nospec_end -
2023-04-04T11:24:22.555355 jbd2/vda1-8 291 4096 7922056 W S ret_from_fork_nospec_end -
2023-04-04T11:24:22.579134 YDService 15850 81920 22577408 W S fsync /usr/local/qcloud/YunJing/cache/fcache.db-journal
2023-04-04T11:24:22.584122 jbd2/vda1-8 291 4096 7922264 W FS ret_from_fork_nospec_end -
2023-04-04T11:24:22.587624 jbd2/vda1-8 291 4096 7922272 W S ret_from_fork_nospec_end -
2023-04-04T11:24:22.581911 jbd2/vda1-8 291 4096 7922200 W S ret_from_fork_nospec_end -
2023-04-04T11:24:22.585441 YDService 15850 4096 22577408 W S fsync /usr/local/qcloud/YunJing/cache/fcache.db-journal
2023-04-04T11:24:22.589702 jbd2/vda1-8 291 4096 7922288 W FS ret_from_fork_nospec_end -
2023-04-04T11:24:22.596431 jbd2/vda1-8 291 4096 7922296 W S ret_from_fork_nospec_end -
2023-04-04T11:24:22.597513 jbd2/vda1-8 291 4096 7922320 W FS ret_from_fork_nospec_end -
2023-04-04T11:24:22.591187 YDService 15850 4096 800968 W S fsync /usr/local/qcloud/YunJing/cache/fcache.db
2023-04-04T11:24:22.591200 YDService 15850 8192 3746184 W S fsync /usr/local/qcloud/YunJing/cache/fcache.db
2023-04-04T11:24:22.591209 YDService 15850 4096 802560 W S fsync /usr/local/qcloud/YunJing/cache/fcache.db
读写最多的文件排序
echo "读写次数 文件名" ; cat /tmp/iodump.txt | awk '{print $9}' | sort -rn | uniq -c | sort -rn | head -n 10
读写最多的进程号排序
echo "读写次数 进程号 进程名" ; cat /tmp/iodump.txt | awk '{print $3" "$2}' | sort -rn | uniq -c | sort -rn | head -n 10
写入最多的文件排序
echo "写入次数 文件名" ; cat /tmp/iodump.txt | grep 'W' | awk '{print $9}' | sort -rn | uniq -c | sort -rn | head -n 10
写入最多的进程号排序
echo "写入次数 进程号 进程名" ; cat /tmp/iodump.txt | grep 'W' | awk '{print $3" "$2}' | sort -rn | uniq -c | sort -rn | head -n 10
通过block_dump抓取使用磁盘io较高的进程
/proc/sys/vm/block_dump 缺省设置:0,禁用Block Debug模式
该文件表示是否打开Block Debug模式,用于记录所有的读写及Dirty Block写回动作。
追踪60秒内,按照读写最多的次数对进程进行排序
echo 1 > /proc/sys/vm/block_dump ; sleep 60 ; dmesg | awk '/vda/ {print $2}' |sort |uniq -c | sort -rn ; echo 0 > /proc/sys/vm/block_dump
追踪60秒内,按照每种读写类型最多的次数对进程进行排序
echo 1 > /proc/sys/vm/block_dump ; sleep 60 ; dmesg |awk ' /vda/ {print $2 $3}' |sort |uniq -c | sort -rn ; echo 0 > /proc/sys/vm/block_dump