Я пытаюсь найти программу, которая активно следит за тем, сколько данных читается и записывается в секунду, чтобы открывать файлы, а затем сортирует файлы с наибольшим использованием вверху. Это будет похоже на iotop
, но для каждого файла, а не для каждого потока или процесса. Это также будет идентично вкладке «Диск» в Windows 7 Resource Monitor. Какие-либо предложения? Благодаря
Я думаю, что что-то, основанное на lsof
, могло бы работать, но я действительно не использовал это.
Здесь есть несколько примеров сценариев: http://fts.ifac.cnr.it/cgi-bin/dwww/usr/share/doc/lsof/examples/?type=dir [ 111] Это может дать вам подсказку о том, как делать то, что вы хотите.
Хм, общее количество :)
Самый близкий я мог найти, stap модуль, который сделал io статистику на основе уровня процесса.
Примечание: Systemtap может изменить Ваши внутренности ядра во времени выполнения, ИСПОЛЬЗОВАТЬ НА ВАШ СОБСТВЕННЫЙ РИСК! https://wiki.ubuntu.com/Kernel/Systemtap
Этот сценарий:
http://sourceware.org/systemtap/wiki/Scripts/execname-iotop
Использование vfs_read/write для выполнения грубого IO's от имени процесса X. Вы заметите, что vfs_read берет файл структуры в качестве аргумента так это, Вы были склонны определить фактический дескриптор файла, Вы могли контролировать io в той точке входа.
У меня нет метода, чтобы решить, что первое, что пришло на ум и честно это - некоторая работа для разбираний в нем. Это оставляют как осуществление для OP. Вы могли бы хотеть проверить Linux "перфект", там мог бы быть готовый метод.
Или Вы могли бы хотеть пересмотреть свой весь подход.