Как узнать, какая программа получает доступ к диску и что считывает?
Вопрос больше из желания разобраться, чем из практической надобности.
Подключил внешний жёсткий диск. Ничего с него не читаю, не пишу. Однако, запускаю оперу, и... слышу "оперу" - диск начинает потрескивать и что-то читать. Не файл подкачки точно. Интересно, можно ли как-то узнать, что именно (какая программа) получает доступ к диску и что именно считывается/записывается? Чтобы каждый факт доступа писался в лог, например. Если готового решения нет, насколько сложно написать своё (под win7x64)?
Идеальным ответом была бы простая утилитка - логгер с открытыми исходниками на C++
да, чтобы можно было восстановить всю цепочку событий (программа X прочитала из файла Y байт Z, записала в файл G байт H, и т.д.), мне просто интересны несколько конкретных уникальных сценариев, которые было бы удобнее всего закодить, имея какой-то базовый фреймворк. Sysinternals посмотрю, спасибо!
есть "Аудит файловой системы" в групповых политиках, включаете, настраиваете папки для мониторинга, получаете события в журнале. журнал можно фильтровать в павершелле или где вам удобно.
минус данного решения 1. не все системные вызовы записываются. 2. никогда не видел что бы использовали для всего диска.
плюсы в простоте и близости к ос.
Егор Неведов: Да ничего не будет.
Вопрос не в количестве и размерах файлов, а в частоте обращения к ним.
Одно дело когда у вас 200фильмов BD качестве, как раз по размеру 6террабайт и их раз в день кто то считывает.
Ну будет лог с 200 записями в сутки - мелочи.
Другое дело когда у вас банальный лог файл размером в пару мегабайт , в который 10раз в секунду записываются данные.
Если вы поставите его на мониторинг вы получите миллион записей в сутки по одному файлу!
А если в него пишут сто раз в секунду?
А если таких файлов десятки?