Если я использую «верх», я могу видеть, какой процессор занят и какой процесс использует весь мой процессор.
Если я использую «iostat -x», я могу увидеть, какой диск занят.
Но как мне увидеть, какой процесс использует всю пропускную способность диска?
linux
io
performance
system-administration
iostat
Мэтью Крамли
источник
источник
Ответы:
Вы ищете
iotop
(при условии, что у вас есть ядро> 2.6.20 и Python 2.5). В противном случае вы пытаетесь подключиться к файловой системе. Я рекомендую первое.источник
iotop
похоже, показывает пропускную способность ввода-вывода, а не количество операций ввода-вывода в секунду, потребляемых процессами. Это не суперактуально. Процесс, выполняющий множество мелких операций записи + синхронизации, будет потреблять больше ресурсов ввода-вывода диска, чем процесс, записывающий большой непрерывный пакет данных на высокой скорости.[jdb2/nvme0n1p1]
записей все, что я видел, было в iotop, но мне повезло с включением / proc / sys / vm / block_dump и сравнением вывода с работоспособной / стабильной системой lxadm.com/Simple_filesystem_read/write_tracing_with_/proc/sys/ ... Это помогло найти контейнер-докер, который постоянно порождает запросы kubectl, исчерпывая пакетные кредиты тома EBS записями в/home/spinnaker/.kube/cache/discovery/.../serverresources.json
. Как только вы сузите круг до имени пользователя / процесса, что-то вродеiotop -atku systemd-network | grep kubectl
может также помочьЧтобы узнать, какие процессы в состоянии 'D' (ожидают ответа диска) в настоящее время выполняются:
while true; do date; ps aux | awk '{if($8=="D") print $0;}'; sleep 1; done
или
watch -n1 -d "ps axu | awk '{if (\$8==\"D\") {print \$0}}'"
Как видно из результата, jdb2 / dm-0-8 (процесс журнала ext4) и kdmflush постоянно блокируют ваш Linux.
Для получения дополнительной информации этот URL-адрес может быть полезен: Linux Wait-IO Problem
источник
atop также хорошо работает и легко устанавливается даже в более старых системах CentOS 5.x, которые не могут запускать iotop. Нажмите,
d
чтобы отобразить сведения о диске и получить?
помощь.Это ясно показывает, что виновником является java pid 9862.
источник
TL; DR
Если можете
iotop
, сделайте это. В противном случае это может помочь.Используйте
top
, а затем используйте эти ярлыки:Это должно отображать значения
> 1.0 wa
по крайней мере для одного ядра - если нет дисковых ожиданий, значит, просто нет нагрузки ввода-вывода и нет необходимости искать дальше. Обычно начинаются значительные нагрузки> 15.0 wa
.Выберите «S», столбец статуса процесса. Измените порядок сортировки так, чтобы процессы «R» (выполняющиеся) отображались вверху. Если вы можете обнаружить процессы «D» (ожидающие диска), у вас есть индикатор, в чем может быть ваш виновник.
источник
Для пользователей KDE вы можете использовать 'ctrl-esc' вверху для вызова системного монитора активности, и есть диаграммы операций ввода-вывода с идентификатором и именем процесса.
У меня нет разрешения на загрузку изображения из-за «нового статуса пользователя», но вы можете проверить изображение ниже. В нем есть столбец для чтения и записи ввода-вывода.
источник
Вы рассматривали
lsof
(список открытых файлов)?источник
iotop с флагом -a:
источник