Ответы:
Iotop - это хороший инструмент для того, что вы хотите. Это также позволяет отображать накопленное количество входов / выходов на любом из дисков DISK READ, DISK WRITE, SWAPIN и IO (общий процент). Это через отличный интерфейс:
Мол top
, презентация довольно занята. Другое дело, что у него нет бесчисленных опций top
(например, я не могу скрыть ни одну из колонок, в которых я не заинтересован), но инструмент более чем достаточно хорош для его конкретной цели.
-o
( --only
), чтобы фактически отфильтровать все задачи, не выполняя никаких операций ввода-вывода. Это делает список менее многолюдным
Вы можете использовать lsof
( man lsof ). Далее будет возвращен список всех файлов, открытых для записи:
lsof | grep -e "[[:digit:]]\+w"
w
выше команда from заставляет вас grep для файлов, которые открыты только для записи . Файлы, открытые для записи и чтения ( u
), не будут отображаться, но они также могут быть записаны. Если вы хотите, чтобы файлы были открыты для записи и для чтения + записи, я думаю, это то, что вы ищете:lsof | grep -e "[[:digit:]]\+[wu]\{1\}"
Использование strace
.
Специально для низкой активности диска необходимо использовать iotop в пакетном режиме, чтобы предотвратить быстрое исчезновение коротких линий доступа. Ответ: Как мне записать чтение / запись файловой системы по имени файла в Linux? показывает, как это сделать.
Пока что
iotop
это лучшее общее решение. Следующая команда дает в реальном времени вывод всех процессов, использующих диск.
iotop -bktoqqq -d .5
where: -b is batch mode
-k is kilobytes/s
-t adds timestamp
-o only show processes or threads actually doing I/O
-qqq removes output headers
-d .5 updates every .5 seconds
Если у вас есть идентификатор процесса, вы также можете найти файлы с
lsof -p $PID