Наш сервер имеет несколько жестких дисков и выполняет множество процессов. У нас высокий коэффициент использования диска на одном из наших дисков, и я хочу выяснить, какие процессы вызывают это. Я использовал команду iotop , но она не фильтрует по дискам и имеет большой вывод. Я использовал nmon , и он говорит только о том, что на моем диске много прочитанных io. Как я могу фильтровать процессы по жесткому диску и сортировать по использованию io?
ОС: ubuntu 14. 04
Если ваше ядро было сконфигурировано с CONFIG_FTRACE, что обычно и происходит, вы можете получить подробную информацию, используя iosnoop, один из скриптов из коллекции трассировок и производительности Brendan Gregg. Eg:
$ 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