100% загрузка ЦП при подключении нового USB-устройства - services.exe / Windows Server 2003

3270
Will3265

На моем сервере я пытаюсь установить новый USB-накопитель, но все, что происходит, это то, что система начинает использовать огромное количество процессорных циклов с помощью services.exe. При ближайшем рассмотрении с помощью проводника процессов появляется поток под названием umpnpmgr.dll, использующий большую часть процессорного времени services.exe.

Я оставил это в течение получаса, и все еще ничего не случилось.

Перезагрузился и попробовал еще раз, тот же результат.

Пробовал другой usb диск, потом флешку но все та же проблема.

Попытка обновления драйвера, но он сказал, что функция обновления уже работает.

Я использовал Process Explorer, чтобы убить поток сейчас, чтобы сервер все еще мог выполнять свои функции.

Любое устройство, которое было ранее установлено до того, как это произошло, все равно будет работать, но любое устройство, новое для системы, не будет.

Мой вопрос (ы):

Есть ли способ вручную установить устройство в реестр, чтобы Windows считала его ранее установленным устройством?

Или эту проблему можно исправить с помощью чего-то другого, кроме переустановки? Выполнение переустановки означало бы резервное копирование больших объемов данных, что сложно на USB-диске и недостаточно места на всех других сетевых машинах.

Любая помощь будет принята с благодарностью.

Уильям

4

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

5
Ian Boyd

Обновление : Windows 7 Service Pack 1 содержит исправление:

KB981214: высокая загрузка ЦП при использовании аудиоустройства USB, подключенного к хост-контроллеру EHCI USB 2.0

В этом случае вы заметите, что на компьютере наблюдается высокая загрузка ЦП примерно каждые 15 секунд. Кроме того, вы можете пропустить воспроизведение звука с аудиоустройства, когда общее использование процессора достигает 100%.

Посмотрите, исправит ли SP1 проблему.


Используйте Process Explorer, чтобы посмотреть на поток, который работает, и посмотрите на его трассировку стека. По крайней мере, вы можете увидеть службы, размещенные внутри services.exe.

альтернативный текст

Я предполагаю, что в это время машина связана с процессором, а не с IO. Если он связан с вводом / выводом, вы можете увидеть, что он делает, с помощью Process Monitor - это может привести к некоторому пониманию.


я вижу на вашем скриншоте Process Explorer, что процесс занимает 50% процессорного времени. Я предполагаю, что это двухъядерный компьютер, и он занимает одно ядро. Так что процессор застревает, что-то делает.

Глядя на трассировку стека:

альтернативный текст

То, что я клавиша на (я не эксперт, просто они пробудили мой интерес), являются:

  • VerifyCatalogFile
  • Настройка FindNextMatchLine W
  • SetupDi EnumDeviceInterfaces

Из термина «файл каталога» мне кажется, что он проходит через все установленные INF. я не знаю, что делают эти функции, но я могу проверить:

VerifyCatalogFile

Проверяет один файл каталога.

SetupFindNextMatchLine

Функция SetupFindNextMatchLine возвращает местоположение следующей строки в INF-файле относительно ContextIn.Line, которое соответствует указанному ключу.

SetupDiEnumDeviceInterfaces

Функция SetupDiEnumDeviceInterfaces перечисляет интерфейсы устройства, которые содержатся в наборе информации об устройстве.

Так это звучит, как это происходит через все INF - файлы, тыкая через каждый из них, а затем делать вещи на основе того, что он находит.

Следующий вопрос: он застрял в одном INF-файле, или их много, или он повторяется, или у него нет доступа к одному, или ... кто знает.

Следующее, что я хотел бы сделать, это загрузить Process Monitor и настроить его на отображение только файловой активности с помощью services.exe . Затем вы можете увидеть масштабирование всех файлов inf. Надеюсь, вы можете увидеть одно это застревание на (надеюсь, это будет просто застрять на одном). Тогда, возможно, вы можете переименовать / скрыть этот нарушающий INF-файл.


Обновление Два

Пример монитора процесса.

На панели инструментов отключите параметры, кроме Действия с файловой системой :

альтернативный текст

Затем добавьте фильтр:

Process Name is services.exe Include 

и нажмите Добавить:

альтернативный текст

Я пытался искать вокруг с монитором процесса не мог найти ничего. Любые предложения, что я ищу? Ниже скрин из проводника процессов. http://img694.imageshack.us/img694/3026/servicesumpnpmgrdllscre.jpg Will3265 14 лет назад 0
К сожалению, services.exe просто повторяет одну и ту же тему открытия / закрытия снова и снова, не давая мне больше подробностей. Любая идея, как узнать, какой файл inf он читает каждый раз? Will3265 14 лет назад 0
Обновления в ответе Ian Boyd 14 лет назад 0
1
Breakthrough

Проверьте, включен ли режим ожидания USB-опросов. Для получения дополнительной информации см. Http://www.pctools.com/guides/registry/detail/1210/ . Кроме того, если вам не нужна служба ввода пользователя HID (см. Ваши службы через Пуск -> Выполнить -> services.msc), вы можете отключить ее.

0

не решение проблемы, но чтобы исключить неисправное оборудование, подключите USB-накопитель, затем загрузите дистрибутив Linux с компакт-диска и проверьте, обнаружен ли USB-накопитель и работает ли он нормально.

они работают. попробовал диск восстановления и диск с убунту Will3265 14 лет назад 0
0
Am1rr3zA

Лучше сначала установить диск, затем подключить его к вашей системе, и иногда необходимо отключить антивирус или брандмауэр, затем установить драйвер и затем подключить устройство. и иногда вы должны установить в безопасном режиме для лучшей работы. но мой совет не подключайте устройство сначала, а после этого хотите установить драйвер.

0
dlamblin

Может ли это быть автозапуск мешать? Попробуйте отключить его или удерживать shiftпри первом подключении устройства.

0
harrymc

Некоторые идеи:

  1. Проверьте в диспетчере устройств, свойства USB-устройства, согласится ли Windows сделать драйвер отката.
  2. Попробуйте удалить устройство USB из диспетчера устройств и перезагрузиться (лучше сначала сделать резервную копию системы).
  3. Попробуйте также отключить контроллер USB, чтобы увидеть, останавливает ли это обновление драйвера.
  4. Вы пытались вынуть устройство USB и перезагрузиться? Возможно, просто новое устройство сломано. Вы можете попробовать его на другом компьютере и более новой ОС, чем W2K3.