Инструмент для записи дискового ввода-вывода конкретного процесса в файл
Я использую Windows 8 x64. MSSE (переименованный в Защитник Windows) постоянно вызывает BSoD во время быстрого сканирования (проблема описана здесь). Я хочу выяснить, к какому последнему файлу (файлам) он обращался.
Обычно я использую SysInternals Process Monitor для таких задач. Тем не менее, он не имеет возможности сохранять события по мере их генерирования, и, поскольку система аварийно завершает работу с BSoD, я не вижу никакого вывода.
Знаете ли вы инструмент для мониторинга дискового ввода-вывода, как SysInternals Process Monitor, который сохраняет все данные на жестком диске (конечно, отфильтровывая свой собственный дисковый ввод-вывод)?
2 ответа
Включить полный аварийный дамп. Нажмите Win+Pause, перейдите в "Дополнительные параметры системы" → вкладка "Дополнительно" и в разделе "Запуск и восстановление" нажмите "Настройки".
Убедитесь, что ваш файл подкачки достаточно большой, чтобы вместить полный дамп, то есть, по крайней мере, размер оперативной памяти + 256 МБ.
перейдите в "Дополнительные настройки системы" → вкладка "Дополнительно"
в разделе "Производительность" нажмите "Настройки" и перейдите на вкладку "Дополнительно".
нажмите "Изменить.." и выберите "Нестандартный размер"
не забудьте нажать Set до OK, просто OK не будет работать
Если после этого на системном диске остается меньше (25 ГБ + объем ОЗУ), выполните следующие действия:
открыть Regedit
перейдите к
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
создать ключ DWORD
AlwaysKeepMemoryDump
со значением 1перезагружать
Запустить трассировку Xperf (
xperf –on DiagEasy
из консоли администратора), которая фиксирует активность жесткого диска.Запустите MSE (или Защитник Windows) и дождитесь сбоя.
Перезагрузитесь в Windows и откройте файл Memory.dmp с помощью WinDbg. Внутри Windbg выполните следующую команду, чтобы увидеть все активные журналы ETW:
!wmitrace.strdump
Посмотрите, какой номер "NT Kernel Logger". Теперь выполните следующую команду, чтобы экспортировать данные в файл ETL:
!wmitrace.logsave 0xNUMBER c:\DISK.etl
Откройте файл ETL в xperfview/WPA и посмотрите на график дискового ввода-вывода, к каким файлам обращались.
Process Monitor может записывать в файл журнала на диске, см. Файл → Резервные файлы.