Мое программное обеспечение для управления документами выполняет много операций ввода-вывода, и я хотел бы знать, к каким файлам он обращается чаще всего.
Существует ли инструмент Linux, который каждые несколько секунд выводил бы список самых популярных файлов, потребляющих ввод-вывод, например, iotop, но для файлов?
Это может выглядеть так:
$ thetool
THRPUT R/W/SWP FILE
40MB/s write /usr/alfresco/repo/1283421/1324928.doc
12MB/s read /usr/alfresco/cache/3928dh29f8if
11MB/s read /tmp/239398hf2f024f472.tmp
Я посмотрел на человека страницах iotop
, lsof
, strace
и они , кажется, не предлагают такую возможность.
monitoring
disk-usage
Николас Рауль
источник
источник
Ответы:
Я думаю, что ваш показатель «количество байтов» является неправильным. Рассмотрим два доступа. Один читает 10 МБ из файла. Другой читает каждый 512-й байт файла для первых 10 МБ. «Количество байтов» будет в 512 раз больше для первого доступа по сравнению со вторым. Тем не менее они оба будут оказывать одинаковую нагрузку на подсистему ввода-вывода.
Если вы можете принять «количество операций», которое примерно такое же хорошее или такое же плохое, как «количество байтов», то у вас есть что-то, что вы можете измерить.
inotifywatch
Программа делает это, и это, скорее всего , часть вашего дистрибутиваinotify-tools
пакета.Он сразу скажет вам, какие файлы составляют основную часть доступа, и, вероятно, позволит вам решить вашу реальную проблему.
источник
Прежде всего, чтобы уточнить: не существует такого понятия, как «файлы ввода-вывода» . Файлы являются пассивными объектами. Это программы, которые запускают IO (обычно путем чтения / записи файлов), и они могут получить доступ к файлам более или менее часто. Таким образом, пропускная способность, которую вы упоминаете в отношении файлов, на самом деле не имеет особого смысла. Полезная информация о файлах может быть о том, как часто они доступны и изменены. Это можно контролировать с помощью
notifywait -m /some/file/or/directory
(из инструментов inotify ) или более сложной системы, такой как FAM или Gamin .источник