Eu tenho um processador Dual core, e um dos dois está constantemente a 100%. Olhar no ProcessExplorer mostra que são chamadas de procedimento adiado. Ler pela internet parece me dar toneladas de respostas diferentes.
É possível definir algumas etapas para tentar diminuir qual pode ser o problema no meu caso?
Atualização 1: FWIW, o problema persiste mesmo no modo de segurança.
Atualização 2: desconectei tudo o que pude da parte de trás do PC e isso me comprou 40% mais de processador gratuito. Também baixei a ferramenta RATTV3 , mas, por algum motivo, na minha máquina, não está me dando uma quebra de driver por driver. Há uma boa descrição do DPCLatencyChecker e do RATTV3 aqui .
Update 3: , LatencyMon (ver minha resposta abaixo) me diz que é nvstor32.sys
- que é motorista SATA da NVidia - com tempos de cerca de 5300 mS.
Atualização 4: o enredo engrossa, enquanto se pensa em tentar inicializar um disco de recuperação (para ver se realmente são drivers e não um problema de hardware), notei que o DVD / CD player não estava funcionando (ou seja, nem mesmo abrindo o porta quando pressiono o botão). Dado que a máquina acabou de substituir a placa-mãe, imaginei que eles tivessem esquecido de conectá-la. Abri a caixa, tudo parecia bem, mas desconectei e conectei novamente. Na reinicialização, estava tudo bem - não havia mais DPC (agora mais alto, 300µs)!
Atualização 5: no dia seguinte, problema de volta, o CD player não está funcionando novamente, até o cursor na caixa de texto da senha está piscando em câmera lenta ... Tentei desconectar tudo o que eu conseguia pensar e, na segunda reinicialização, funcionou novamente (como na Atualização2 ) Da próxima vez vou tentar desconectar o CD player completamente ...
Atualização 6: Acabei de notar que o log de eventos do sistema está nvstor32.sys
apresentando um erro dizendo Parity error detected in \Device\RaidPort0
, em seguida, um aviso sobre o envio de uma reinicialização. Agora só tenho que descobrir qual RaidPort0
é ... (note, eu não tenho configuração de RAID, é apenas um Acer convencional). Ah, e minha instalação do Avast aparentemente foi interrompida quando fiz uma reversão do sistema (ou seja lá o que for chamado), porque ela não inicia (erro RPC), não desinstala (ocorreu um erro setiface).
Atualização 7: Finalmente tive tempo de reiniciar com o DVD desconectado. Sem mais problemas de DPC! (muitas falhas de página, mas isso é para mais tarde). Próximo passo: verifique se é o cabo ou o DVD player.
Atualização 8: Emprestou um cabo SATA, inicializado com ele, sem problemas. O CD / DVD player funciona, sem problemas de DPC nvstor32.sys
, sem processadores bloqueados. Final feliz ... quase: ainda tenho problemas com o Avast, problemas aparentes de DPC storport.sys
na inicialização (talvez normais para USB?) E muitas falhas de página. Mas esses serão objeto de outras questões.
Postscript: Recentemente, comecei a ter o mesmo problema e, usando o mesmo método, consegui localizá-lo em um pen drive (o que eu estava usando para o ReadyBoost) sendo filmado.
fonte
Respostas:
Aqui está a história de como encontrei a causa da minha alta latência do DPC.
Meu sistema estava apresentando cliques e pops durante a reprodução do som. Eu sabia que isso significava que algo no modo kernel estava monopolizando a CPU. Meu primeiro pensamento foi vasculhar o Process Explorer e ver se algo parecia fora do lugar. A única coisa que chamou minha atenção foi uma quantidade excessiva de tempo gasto realizando chamadas de procedimento adiado (DPCs):
Eu sabia que os DPCs são código sendo executado dentro de um driver; o desafio era descobrir qual motorista. Eu virei para o DPC Latency Checker , que me mostrou o quão ruim era a latência:
O DPC Latency Checker sugere passar pelos dispositivos no Gerenciador de dispositivos e desabilitar o hardware não essencial um a um (por exemplo, placa de rede, placa de som), na esperança de isolar o driver com erros. (Se você desativar um dispositivo e a latência do DPC diminuir repentinamente: você encontrou o culpado!)
Infelizmente, depois de desativar tudo o que pude (enquanto ainda consigo usar o computador - não desative o disco rígido, placa de vídeo, mouse ou hub USB em que o mouse está conectado!), A latência ainda estava alta. Em seguida, consultei o Windows Performance Toolkit (parte do Windows SDK ) e uma excelente postagem de blog de Peter Weiland, "Measuring DPC Time" . Depois de instalar o Windows Performance Toolkit:
Abri um prompt de comando elevado e executei:
Depois de deixar isso funcionar por um minuto, parei o rastreio e o salvei em um arquivo:
E então eu vi os resultados do rastreamento com o comando:
Isso carrega o Windows Performance Analyzer gráfico . Ao clicar com o botão direito do mouse no gráfico DPC CPU Usage , selecionei Summary Table . Isso mostra uma divisão do tempo gasto nos DPCs por driver:
Imediatamente eu posso ver um driver (
tsvp.sys
) tendo uma média de 2,8ms por execução DPC, que é uma ordem de magnitude mais lenta que qualquer outro driver:O Google
tsvp.sys
me deu a resposta: CommView , que eu havia instalado recentemente.A questão agora é como desativar esse driver. Usando o AutoRuns , posso ver que ele está instalado como um serviço de driver:
Usando o Gerenciador de dispositivos, posso desativar o serviço que hospeda esse driver. Primeiro você tem que Mostrar dispositivos ocultos , depois expanda o
Non-Plug and Play Drivers
nó:Por fim, pude interromper o serviço do driver e mudei o modo de inicialização de
System
(o que significa que o driver é uma parte essencial do Windows, e o Windows não pode ser inicializado sem ele), paraDemand
(o que significa que eu posso iniciar o driver quando quiser):A interrupção do serviço do driver corrigiu imediatamente a latência do DPC:
Posso ou não desinstalar completamente o CommView, mas por enquanto resolvi o caso da alta latência do DPC.
Atualização : A partir do Windows 8, você não pode mais ver drivers não Plug and Play no Gerenciador de dispositivos :
A Microsoft retirou o recurso e o substituiu por nada. Bom trabalho.
Na raiva típica dos nerds, algumas respostas inúteis :
Felizmente, o NirSoft criou um substituto. O ServiWin permite que você veja, pare e inicie todos os serviços (mesmo aqueles que a Microsoft decidiu que os administradores devem ver):
fonte
RELATÓRIO DE PROGRESSO
A melhor ferramenta que encontrei até agora é o LatencyMon , que basicamente faz tudo o que as duas ferramentas anteriores fazem, sem fazer você pensar. A página de download solicita que você se registre por e-mail - mas nada aconteceu comigo quando fiz isso -, mas você pode rolar até o final da página para fazer o download.
fonte
No meu caso, usei o LatencyMon (da resposta de Benjol) e descobri que o motorista congelava a vida, o universo e tudo o que era (também) o
storport.sys
que é um driver da Microsoft para " barramentos de alto desempenho ". Isso confirmou minha suspeita de que o problema estava relacionado à IO.Também fui em frente e olhei para o Windows 7 Event Viewer , pasta Windows Logs -> Application , e encontrei vários lotes de erros do VSS (Volume Shadow Copy) ocorrendo a cada 30 minutos a 2 horas. Eles são detalhes assim:
Comecei a investigar o que diabos é o VSS e para que é usado. Fui várias - páginas - sobre - VSS solução de problemas . Passando por todos esses, eu tinha um grande suspeito: meu software de backup CrashPlan .
Seguindo esse exemplo, rapidamente encontrei uma página relacionando-a com erros de VSS . Seguindo as instruções para desativar o backup de arquivos abertos, que usam VSS, os congelamentos, o alto uso da CPU do Kernel etc. foram completamente extintos. E não me interpretem mal: o CrashPlan é ótimo! Apenas esse recurso não estava funcionando na minha máquina.
BTW, esta página aqui foi A ÚNICA que me deu a liderança inicial que me ajudou a encontrar a causa raiz dos meus problemas. Muito obrigado @Benjol e todos os outros que responderam anteriormente! Espero que minha resposta também ajude outras pessoas ...
fonte
Provavelmente, existe um driver de dispositivo que mantém o sistema ocupado. Uma maneira de analisar isso é executar o verificador de latência DPC . Em seguida, desative um driver de cada vez e veja se a carga do DPC diminui. (O Process Explorer também funciona.)
Você pode desativar os drivers de dispositivo em Gerenciamento do computador -> Gerenciador de dispositivos.
fonte
Acho que devo adicionar minha resposta aqui, porque esse problema é difícil de resolver e nem sempre se deve a drivers ruins ou conflitos de IRQ.
Eu tinha alta latência de RPC que estava causando pops / crackles na minha placa de som USB pro-sumer. As ferramentas descritas na resposta aceita não foram úteis na identificação de um driver específico que estava causando um problema. A latência estava ocorrendo em vários processos: HAL, USBPORT.SYS e o kernel do Windows. Aprofundar-se nesses processos não revelou um culpado óbvio.
No meu caso, o problema era de nível mais baixo e específico das placas-mãe GigaByte com determinados chipsets e revisões do BIOS. A solução foi desativar o Intel SpeedStep e todos os outros recursos específicos da placa-mãe que ajustaram a velocidade e a voltagem da CPU em tempo real. Depois que essas opções foram desativadas, minha latência RPC foi corrigida imediatamente.
fonte
Comecei a ver esse erro depois de resolver um erro de IRQ com meu controlador Ethernet nVidia 10/100/1000 que apareceu ao atualizar minha placa de vídeo para a GeForce GTX 550 Ti.
Parece que após a atualização para os novos drivers GeForce 295.73 e, em seguida, resolvendo o conflito de interrupções, eu havia removido, danificado ou desinstalado os drivers existentes do controlador nForce SATA / RAID. Não uso RAID, o erro ainda persiste e trava o Vista Ultimate de 64 bits de tempos em tempos.
Depois de tentar todas as sugestões de solução de problemas que encontrei na Web, uma solução simples se apresentou ... Atualizei para o nForce SATA / RAID controller 15.58, mas deixei outros drivers do nForce em paz.
Isso foi corrigido para mim e agora resolvi todos os conflitos de driver. Espero que ajude você também.
fonte