Как идентифицировать плохое расширение проводника, не отключая его?

322
Jay

У меня есть компьютер с Windows 7 Enterprise, который в течение последних нескольких месяцев, когда он выходит из спящего режима или находится в спящем режиме, резко замедляется на одну или две минуты, прежде чем становится отзывчивым. Ввод моего пароля занимает не менее 20 секунд, чтобы появиться, а затем войти в систему, а затем, например, щелчок произвольного виджета в любом приложении ничего не дает в течение как минимум 20 секунд.

Основываясь на прошлом опыте, я подозреваю, что замедление, возможно, связано с загрузкой сторонней библиотеки DLL в проводник. Использование процессов настоятельно предполагает, что это исследователь, поскольку именно это использует процессор на 10-15% ровно в то время, когда компьютер замедляется.

К сожалению, это рабочий компьютер, который часто используется, поэтому я не могу повторно запустить / запустить проводник, чтобы протестировать удаление DLL. Также я не могу отладить его из-за того, что компьютер не отвечает. Я начал трассировку xperf перед сном:

xperf -on PROC_THREAD+LOADER+INTERRUPT+DPC+PROFILE -stackwalk profile -minbuffers 16 -maxbuffers 1024 -flushtimer 0 -f tmp.etl

... а затем закончил это после замедления возобновления:

xperf -d profile.etl

Я использовал Windows Performance Analyzer, чтобы изучить трассировку, и она показала win32k.sys!zzzRecalcThreadAttachmentиз ?!?(в win32k.sys). Поиск в интернете для zzzRecalcThreadAttachment оказался не слишком удачным.

wpa screenshot

Кто-нибудь видел что-нибудь похожее на этот след или что бы вы посоветовали идентифицировать как плохое расширение проводника, не отключая его?

1
?!? означает динамически сгенерированный код. AttachThreadInput документирован здесь: https://msdn.microsoft.com/en-us/library/windows/desktop/ms681956.aspx, поэтому инструмент подключается к вводу. попробуйте старый подход, отключив 50% установленного расширения magicandre1981 6 лет назад 0

0 ответов на вопрос