Наш сервер имеет несколько жестких дисков и выполняет множество процессов. У нас высокий коэффициент использования диска на одном из наших дисков, и я хочу выяснить, какие процессы вызывают это. я использовал iotop команда, но она не фильтрует по дискам и имеет большой вывод. я использовал nmon и это только говорит о том, что на моем диске много прочитанных io. Как я могу фильтровать процессы по жесткому диску и сортировать по использованию io?
ОС: ubuntu 14.04
Если ваше ядро было настроено с помощью CONFIG_FTRACE, что обычно имеет место, вы можете получить подробную информацию, используя iosnoop, один из скриптов из коллекции трассировки и производительности Брендана Грегга. Например:
$ sudo /opt/perf-tools-master/bin/iosnoop 5
Tracing block I/O for 5 seconds (buffered)...
COMM PID TYPE DEV BLOCK BYTES LATms
jbd2/sda1-33 335 WS 8,0 10551960 4096 1.67
jbd2/sda1-33 335 WS 8,0 15472840 4096 1.72
gawk 6368 WS 8,0 10393480 4096 0.35
kworker/0:1H 295 WS 8,0 129522736 20480 1.97
xterm 1864 FWS 8,0 18446744073709551615 0 0.02
jbd2/sda1-33 335 WS 8,0 10393488 8192 1.73
jbd2/sda1-33 335 FWS 8,0 18446744073709551615 0 0.13
/usr/bin/mon 746 WS 8,0 10393504 4096 0.34
Xorg 1514 FWS 8,0 18446744073709551615 0 0.06
/usr/bin/mon 746 R 8,0 19868992 4096 0.22