Я ищу простой метод, который зарегистрирует операции файловой системы. Это должно отобразить название файла, получаемого доступ или измененного.
Я знаком с powertop, и кажется, что это работает до степени, в так, что это показывает пользовательские файлы, которые были записаны в. Есть ли любые другие утилиты, которые поддерживают эту функцию.
Некоторые мои результаты:
powertop: лучше всего для входа доступа для записи, но более сфокусированный на активности ЦП
iotop: выставочный доступ к диску реального времени процессом, но не имя файла
lsof: показывает открытые файлы для каждого процесса, но не оперативный доступ к файлу
iostat: показывает оперативную производительность ввода-вывода диска/массивов, но не указывает на файл или процесс
До сих пор 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
Evenutaly Вы заметите, что процесс будет получать доступ к диску. Простой способ заняться расследованиями состоит в том, чтобы остановить процесс и запустить его с strace. Например:
sudo strace -f nmbd -D
Это покажет Вам syscalls доступа к файловой системе.
Другая опция является inotify (7), где много дистрибутивов обеспечивают "inotify-инструменты", таким образом, можно наблюдать путь через
inotifywait -r -m
path_you_want_to_watch
Для входа (вместо того, чтобы контролировать) необходимо рассмотреть использование демона аудита Linux, представленного в ядре 2.6.