Мой ПК с Windows 7 довольно часто блокируется на время от пары секунд до полуминуты или около того. Я попытался найти проблему с монитором процесса , отфильтровав все системные вызовы, которые занимают более 2 секунд, и обнаружил, что они всегда имеют следующий сегмент трассировки стека:

0   fltmgr.sys  FltAcquirePushLockShared
1   fltmgr.sys  FltIsCallbackDataDirty
2   fltmgr.sys  fltmgr.sys

Следующий кадр - это NtCreateFile в большинстве случаев. Звонки часто занимают 2-10 секунд, но иногда до 50 секунд в почти бездействующей системе. Жесткий диск (на самом деле, твердотельный диск), похоже, не является проблемой - HD Tune не показывает проблем в тесте производительности и сканировании ошибок, а Process Explorer также не дает никаких намеков на необычную активность процессора или ввода-вывода. И я уверен, что это не вирус или что-то в этом роде. :-)

Как я могу узнать актуальную проблему? Есть ли полезные инструменты?

1 ответ1

0

Используйте xperf из WPT (часть Windows 8 SDK) для отслеживания дискового ввода-вывода:

http://blogs.msdn.com/b/ntdebugging/archive/2009/08/17/xperf-to-investigate-slow-io-issues.aspx

Запустите скрипт, сверните окно CMD и, когда у вас снова возникнет проблема, вернитесь к cmd, подождите 15-20 секунд, нажмите клавишу, чтобы остановить запись. Откройте его с помощью xperfview и посмотрите на график дискового ввода-вывода, процессы которого вызывают высокий дисковый ввод-вывод.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .