如何找出哪个进程占用IO最高

2025-04-29 00:52:17
推荐回答(1个)
回答1:

1、开启IO监控:sysctl vm.block_dump=1或echo 1 >/proc/sys/vm/block_dump
2、开启后内核会将IO读写dump到日记,用dmesg查看:dmesg
3、进程读写block到磁盘dm-0:
mysqld(7822): READ block 78196624 on dm-0
kjournald(529): WRITE block 211136 on dm-0
bash(8336): dirtied inode 7391146 (dmesg) on dm-0
4、统计当前占用IO最高的10个进程:
dmesg |awk -F: '{print $1}'|sort|uniq -c|sort -rn|head -n 10