Узнайте то, что процессы пишут в жесткий диск

BTW, пакет шпаклевки (который действительно работает на Linux) действительно включает последовательную поддержку.

33
13.09.2014, 01:34
4 ответа

Iotop является хорошим инструментом для того, что Вы хотите. Это также позволяет отображать накопленную сумму ввода-вывода на любом ЧТЕНИИ С ДИСКА, ЗАПИСИ НА ДИСК, ЗАГРУЗКЕ и IO (полный процент). Это через изящный интерфейс:

  • Вы просто нажимаете на клавиатуре, и она отсортирует самые голодные процессы на вершине.
  • Инвертируя порядок, Вы просто нажимаете r.
  • Если Вы хотите отсортировать по другому colums, Вы просто нажимаете слева/справа ключ.

Как top, презентация довольно занята. Другая вещь состоит в том, что это не имеет бесчисленных опций этим top имеет (например, Я не могу, принял решение скрыть любой из столбцов, я не заинтересован), но инструмент более, чем достаточно хорош для своей определенной цели.

42
27.01.2020, 19:37
  • 1
    Powertop также полезен для нахождения то, что израсходовало батарею на ноутбуке; iotop является все еще первым местом для поиска доступов к диску. –  Gilles 'SO- stop being evil' 15.07.2011, 13:48

Можно использовать lsof (человек lsof). Следующее возвратит список всех файлов, которые открыты для записи:

lsof | grep -e "[[:digit:]]\+w"
15
27.01.2020, 19:37
  • 1
    Какие файлы открыты, и к каким файлам на самом деле получают доступ, две разных вещи. к –  psusi 15.07.2011, 20:27
  • 2
    @psusi открытый файл для записи очень вероятно "получают доступ". Кроме того, больше информации может быть получено путем изучения lsof с помощью ее страницы справочника. –  James Sumners 15.07.2011, 20:41
  • 3
    , открытые для записи, могут быть записаны в в какой-то момент, но не обязательно прямо сейчас. Много файлов сохранены открытыми, но редко пишутся в. С другой стороны, файлы, записанные в, могут быть открыты и закрыты быстро и так не обнаружатся в lsof. Так или иначе это имеет мало справки, выясняющей, что процесс на самом деле пишет в диск в данный момент. А-ч –  psusi 15.07.2011, 21:57
  • 4
    w от команды выше делают Вас grep для файлов, которые открыты для записи только. Файлы открываются для записи и чтения (u) не будет отображен, но они могут также быть записаны в. Если требуется видеть, что файлы открываются для записи и для read+write, я полагаю, что это - то, что Вы ищете: lsof | grep -e "[[:digit:]]\+[wu]\{1\}" –  Martijn 02.09.2014, 01:23
  • 5
    @Martijn Вы захотите использовать grep -e**w** постараться не соответствовать [0-9]\+[wu] в другом столбцы –   13.09.2014, 00:03

Использовать strace.

2
27.01.2020, 19:37

Специально для низкой активности диска необходимо использовать 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
2
27.01.2020, 19:37

Теги

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