Определите, какой процесс вызывает загрузку определенного жесткого диска

Наш сервер имеет несколько жестких дисков и выполняет множество процессов. У нас высокий коэффициент использования диска на одном из наших дисков, и я хочу выяснить, какие процессы вызывают это. Я использовал команду iotop , но она не фильтрует по дискам и имеет большой вывод. Я использовал nmon , и он говорит только о том, что на моем диске много прочитанных io. Как я могу фильтровать процессы по жесткому диску и сортировать по использованию io?

ОС: ubuntu 14. 04

2
задан 25 November 2016 в 09:55
1 ответ

Если ваше ядро было сконфигурировано с 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
1
ответ дан 3 December 2019 в 12:38

Теги

Похожие вопросы