100% de uso da CPU quando o novo dispositivo usb é conectado - services.exe / Windows Server 2003

4

No meu servidor, estou tentando instalar uma nova unidade usb, mas tudo o que acontece é que o sistema começa a usar grandes quantidades de ciclos de processador com services.exe. Em uma inspeção mais detalhada com o Process Explorer, há um thread chamado umpnpmgr.dll usando a maior parte do tempo do processador services.exe.

Eu deixei por meia hora e ainda não aconteceu nada.

Reinicie e tente novamente, o mesmo resultado.

Tentei uma unidade usb diferente, depois uma unidade flash, mas ainda o mesmo problema.

Tentei atualizar o driver, mas ele disse que a função de atualização já estava em ação.

Eu usei o Process Explorer para matar o thread agora para que o servidor ainda possa executar suas funções.

Qualquer dispositivo que tenha sido instalado anteriormente, antes que isso comece a acontecer, ainda funcionará, mas qualquer dispositivo novo no sistema não funcionará.

Minha (s) pergunta (s) é / são:

Existe uma maneira de instalar manualmente o dispositivo no registro para que o Windows ache que é um dispositivo previamente instalado?

Ou esse problema pode ser reparado por meio de algo diferente de reinstalar? Fazer uma reinstalação significaria fazer backup de grandes quantidades de dados que são difíceis com uma unidade USB e espaço insuficiente em todas as outras máquinas de rede.

Qualquer ajuda seria muito apreciada.

William

    
por Will3265 21.08.2009 / 07:51

6 respostas

5

Atualização : o Windows 7 Service Pack 1 inclui um hotfix:

KB981214: Há um alto uso da CPU ao usar um dispositivo de áudio USB conectado a um controlador de host USB 2.0 EHCI

In this scenario, you notice that there is high CPU usage approximately every 15 seconds on the computer. Additionally, you may experience skipping in audio playback from the audio device when overall CPU usage reaches 100%.

Veja se o SP1 corrige o problema.

Use o Process Explorer para espiar o encadeamento em execução e examinar sua pilha vestígio. No mínimo, você pode ver os serviços hospedados no services.exe.

EuassumoqueamáquinaestáligadaàCPUduranteessetempo,enãoaIOligada.SetiverlimitedeE/S,vocêpoderáveroqueestáfazendousandoo Monitor de processo . levar a algumas percepções.

eu vejo na sua captura de tela do Process Explorer que o processo está levando 50% da CPU. Eu suponho que é uma máquina dual-core, e tendo um núcleo inteiro. Então a CPU está presa fazendo algo.

Olhando para o rastreamento de pilha:

Ascoisasiestãoativadas(nãosouespecialista,elasapenasdespertarammeuinteresse):

  • VerifyCatalogFile
  • ConfiguraçãoFindNextMatchLineW
  • SetupDiEnumDeviceInterfaces

Apartirdotermo"arquivo de catálogo", parece-me que está passando por todos os INFs instalados. Eu não sei o que essas funções fazem, mas eu posso verificar:

VerifyCatalogFile

Verifies a single catalog file.

SetupFindNextMatchLine

The SetupFindNextMatchLine function returns the location of the next line in an INF file relative to ContextIn.Line that matches a specified key.

SetupDiEnumDeviceInterfaces

The SetupDiEnumDeviceInterfaces function enumerates the device interfaces that are contained in a device information set.

Então, parece que está passando por todos os arquivos INF , cutucando cada um deles e, em seguida, fazendo coisas com base no que encontrar .

A próxima pergunta é: ela está presa no arquivo INF one ou há apenas um lote deles ou está repetindo em si, ou não tem acesso a um, ou ... quem sabe.

A próxima coisa que gostaria de fazer é carregar o Monitor de processo e defini-lo como apenas mostre a atividade do arquivo por services.exe . Então você pode ver o zoom através de todos os arquivos inf. Espero que você possa ver o que está ficando preso (espero que esteja simplesmente ficando preso em um). Então, talvez você possa renomear / ocultar esse arquivo INF ofensivo.

Atualizar dois

Primer do Process Monitor.

Na barra de ferramentas, desative as opções, exceto Atividade do sistema de arquivos :

Emseguida,adicioneumfiltro:

ProcessNameisservices.exeInclude

ecliqueemAdicionar:

    
por 27.08.2009 / 23:39
1

Verifique se o polling USB ocioso está ativado. Para detalhes, consulte o link . Além disso, se você não precisar do Serviço de entrada do usuário HID (consulte seus serviços por meio de Iniciar - > Executar - > services.msc), convém desativá-lo.

    
por 03.09.2009 / 01:02
0

É melhor você primeiro instalar sua unidade e depois conectá-la ao seu sistema e, algumas vezes, precisar fechar o antivírus ou o firewall, instalar o driver e depois conectar o dispositivo. e às vezes você deve instalar em safemode para um melhor trabalho. mas o meu conselho é não conecte primeiro o dispositivo e depois disso, instale o Driver.

    
por 22.08.2009 / 04:26
0

não é uma solução para o problema, mas para descartar um hardware defeituoso, conecte uma unidade flash USB, depois inicialize uma distribuição do Linux a partir do CD e verifique se a unidade flash USB foi detectada e funcionando normalmente.

    
por 22.08.2009 / 03:25
0

Isso poderia ser o AutoRun atrapalhando? Tente desabilitá-lo , ou mantendo shift enquanto o dispositivo é conectado pela primeira vez. / p>     

por 03.09.2009 / 02:43
0

Algumas ideias:

  1. Verifique no Gerenciador de dispositivos, Propriedades do dispositivo USB, se o Windows concordará em fazer o driver de reversão.
  2. Tente excluir o dispositivo USB do Gerenciador de dispositivos e reinicialize (é melhor fazer um backup do sistema primeiro).
  3. Tente também desativar o controlador USB para ver se isso interrompe a atualização do driver.
  4. Você tentou remover o dispositivo USB e reiniciá-lo? Pode ser simplesmente que o novo dispositivo esteja quebrado. Você pode tentar em outro computador e em um SO mais novo que o W2K3.
por 19.11.2009 / 22:01