Обновление : Windows 7 Service Pack 1 содержит исправление:
В этом случае вы заметите, что на компьютере наблюдается высокая загрузка ЦП примерно каждые 15 секунд. Кроме того, вы можете пропустить воспроизведение звука с аудиоустройства, когда общее использование процессора достигает 100%.
Посмотрите, исправит ли SP1 проблему.
Используйте Process Explorer, чтобы посмотреть на поток, который работает, и посмотрите на его трассировку стека. По крайней мере, вы можете увидеть службы, размещенные внутри services.exe.
Я предполагаю, что в это время машина связана с процессором, а не с IO. Если он связан с вводом / выводом, вы можете увидеть, что он делает, с помощью Process Monitor - это может привести к некоторому пониманию.
я вижу на вашем скриншоте Process Explorer, что процесс занимает 50% процессорного времени. Я предполагаю, что это двухъядерный компьютер, и он занимает одно ядро. Так что процессор застревает, что-то делает.
Глядя на трассировку стека:
То, что я клавиша на (я не эксперт, просто они пробудили мой интерес), являются:
- VerifyCatalogFile
- Настройка FindNextMatchLine W
- SetupDi EnumDeviceInterfaces
Из термина «файл каталога» мне кажется, что он проходит через все установленные INF. я не знаю, что делают эти функции, но я могу проверить:
Проверяет один файл каталога.
Функция SetupFindNextMatchLine возвращает местоположение следующей строки в INF-файле относительно ContextIn.Line, которое соответствует указанному ключу.
Функция SetupDiEnumDeviceInterfaces перечисляет интерфейсы устройства, которые содержатся в наборе информации об устройстве.
Так это звучит, как это происходит через все INF - файлы, тыкая через каждый из них, а затем делать вещи на основе того, что он находит.
Следующий вопрос: он застрял в одном INF-файле, или их много, или он повторяется, или у него нет доступа к одному, или ... кто знает.
Следующее, что я хотел бы сделать, это загрузить Process Monitor и настроить его на отображение только файловой активности с помощью services.exe . Затем вы можете увидеть масштабирование всех файлов inf. Надеюсь, вы можете увидеть одно это застревание на (надеюсь, это будет просто застрять на одном). Тогда, возможно, вы можете переименовать / скрыть этот нарушающий INF-файл.
Обновление Два
Пример монитора процесса.
На панели инструментов отключите параметры, кроме Действия с файловой системой :
Затем добавьте фильтр:
Process Name is services.exe Include
и нажмите Добавить: