У меня ноутбук с 64-битной версией Windows Pro с процессором Intel Core 55. Я заметил, что всякий раз, когда я запускаю свою систему, explorer.exe имеет скачок ЦП, постоянно потребляющий 24-30% ЦП все время, даже если нет окон обозревателя. Я запустил Process Explorer и дважды щелкнул, чтобы посмотреть на стек потоков. Shlwapi.dll!SHRegGetUSValueW, кажется, потребляет весь процессор. Как мне найти причину дальше?
2 ответа
Я сделал элементарный анализ, и кажется, что это SearchIndexer.exe, который вызывает выстрелы. (кажется, что он выполняет тяжелую работу для SearchIndexer.exe, который активен в то же время)
Вы можете использовать procmon.exe
с фильтром для потока, который вы определили как пик (TID), и посмотреть более подробно, что делает этот поток.
Как отмечает @ syneticon-dj в своем комментарии, он обращается к значению реестра.
У меня похожее поведение (тот же всплеск процессора, тот же виновник в стеке вызовов), и я определил несколько обращений к реестру, которые, по-видимому, связаны с некоторыми сетевыми ресурсами, которые я сопоставил как диски, помеченные как «переподключение при входе в систему».
Например, я сопоставил \\machine\c$\
как мой диск X:
и вижу следующие соответствующие обращения:
RegOpenKey (УСПЕХ): HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##machine#c$
RegQueryValue (ИМЯ НЕ НАЙДЕНО): HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##machine#c$\_LabelFromReg
RegCloseKey (УСПЕХ):HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\##machine#c$
Я знаю, что ранее я открыл несколько файлов (в Notepad++) с этого диска, просмотрев файл explorer.exe и используя команду контекстного меню «Редактировать с помощью Notepad++».
Как ни странно, у меня также есть сопоставленные другие общие папки и файлы, открытые в настоящее время, и я не вижу того же доступа к реестру для этих общих ресурсов.
Несмотря на то, что все файлы были закрыты и окно этого Проводника больше не было открыто, я все еще видел доступ к реестру.
После того, как я нажал красную букву X, чтобы закрыть окно проводника, я больше не видел доступа к реестру из этой темы. Это несмотря на то, что тот же процесс explorer.exe остается живым в соответствии с Process Explorer, и тот же TID (все еще показывает SHLWAPI.dll!SHRegGetUSValueW+0x1a4
в качестве начального адреса) все еще существует (в состоянии Wait:UserRequest).
Если кто-то может предоставить больше комментариев о том, что я вижу здесь, я хотел бы получить вклад. Меня особенно смущает доступ к реестру, доступный только для одного из общих ресурсов, которые я сопоставил. Кроме того, я ожидал, что процесс проводника завершится, когда я закрою окно, но этого не произошло (иногда это происходит). Повторное открытие Проводника из "булавки" панели задач приводит к появлению нового окна Проводника из исходного процесса explorer.exe (с тем же PID и временем запуска).