O ngen.exe está constantemente usando a CPU


10

Eu instalei recentemente o Windows 7. Esta foi uma instalação limpa (ou seja, não uma atualização de outra versão do Windows), mas eu instalei vários outros programas. Todas as principais aplicações - nada de maluco.

Desde então, o uso da minha CPU está constantemente em torno de 50%.

O Gerenciador de tarefas me mostra que o ngen.exe é o culpado. Não é uma tarefa de longa duração: posso ver que ele recebe um novo PID pelo menos uma vez por segundo, então acho que algo o está constantemente ativando.

Faz isso o tempo todo, mesmo quando não tenho aplicativos em execução.

alguém mais viu isso? Como descubro o que está causando isso?

Respostas:


7

Seguindo o conselho de Isxek, usei o Process Explorer para ver o que estava acontecendo. Eu achei isto:

insira a descrição da imagem aqui

Os processos que estão terminando são destacados em vermelho; os que estão começando são verdes. Isso mostra que o ngen.exe está constantemente terminando e sendo reiniciado. No gráfico na parte superior, você pode ver que ele é executado por cerca de um segundo a cada vez.

Como Jim B diz, o netfxupdate.exe está avançando no framework .NET. A minha já estava em funcionamento há várias semanas, então, por algum motivo, parece que ela ficou presa em algo e não estava fazendo nenhum progresso.

Usando o regedit, encontrei a entrada que inicia o netfxupdate.exe sempre que inicio o meu PC:

insira a descrição da imagem aqui

Parece que ele está preso nas bibliotecas do .NET 1.1 por algum motivo. Sou desenvolvedor .NET e parte do meu código é executado no .NET 1.1. Tudo parece estar funcionando bem, então eu removi essa entrada do registro e reiniciei minha máquina.

Já passaram alguns dias sem problemas (mesmo quando desenvolvendo com o .NET 1.1), então estou feliz com esta solução.


5

NGEN é o gerador de código nativo para a estrutura dotnet. agitará como uma tarefa em segundo plano até que os assemblies nativos sejam gerados


4
Já faz algumas semanas - oito horas por dia, cinco dias por semana. Certamente isso não é normal?
teedyay

5

O arquivo ngen.exeparece fazer parte do Microsoft .NET Framework, de acordo com ProcessLibrary.com . Fiz uma pesquisa em um laptop Windows 7 que estou usando, mas não consegui encontrá-lo.

Você pode usar o Process Explorer para determinar se é um arquivo legítimo da Microsoft. Clique com o botão direito do mouse em ngen.exe quando o vir, escolha Propriedades e clique no botão Verificar. Você deve ver algo assim (a imagem é para svchost.exe):

insira a descrição da imagem aqui

Se o registro não for confirmado, tente o seguinte conselho: Como remover spyware, malware, adware, vírus, cavalos de Troia ou rootkits maliciosos do meu PC?


1

FYI - O NetFxUpdate no meu Windows 2008R2 ficou travado também depois que eu instalei a v1.1,% temp% \ netfxupdate.log mostra:

START: invocation ID = 1; version = v1.1.4322; params = 
REGWRITE: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce NetFxUpdate_v1.1.4322="C:\Windows\Microsoft.NET\Framework\v1.1.4322\netfxupdate.exe" 0 v1.1.4322 GAC + NI NID
REGDELETE: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run NetFxUpdate_v1.1.4322
INVOKE: "C:\Windows\Microsoft.NET\Framework\v1.1.4322\netfxupdate.exe" 2 v1.1.4322 NI NID
START: invocation ID = 2; version = v1.1.4322; params =

e então (repetidamente):

INVOKE: "C:\Windows\Microsoft.NET\Framework\v1.1.4322\ngen.exe" /nologo /silent "C:\Windows\Microsoft.NET\Framework\v1.1.4322\System.dll"
RETURN: -1

Mesma correção que você, remova a chave HKLM ... \ Run.



0

Também experimentei o problema em que o NGEN ocuparia muitos recursos da CPU sem motivo aparente. Tentei aplicar algumas correções encontradas em vários fóruns, mas sem sorte.

O FIX (que funcionou para mim e não faz muito sentido o porquê funciona): se você abrir o local do arquivo clicando com o botão direito do mouse no processo ngen, haverá um arquivo de texto chamado "ngen" no diretório principal. Eu removi o arquivo e não vi o ngen por uma semana inteira e contando.

Se alguém quiser tentar e confirmar a "correção", vá em frente.


0

Eu sempre executo esses comandos após a instalação nova e a atualização recente:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe executequeueditems
C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe executequeueditems

Espere que eles terminem e você não verá mais nada.


-1

Após excluir a chave do registro abaixo \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework \ v2.0.50727 \ NGenService \ Roots O NGen criará a estrutura do registro por si só, que "corrige" o problema

Fonte

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.