ngen.exe utilise constamment le CPU


10

J'ai récemment installé Windows 7. C'était une installation propre (c'est-à-dire pas une mise à niveau d'une autre version de Windows), mais j'ai installé un tas d'autres programmes. Toutes les applications grand public - rien de farfelu.

Depuis lors, mon utilisation du processeur a constamment été d'environ 50%.

Le Gestionnaire des tâches me montre que ngen.exe est le coupable. Ce n'est pas une tâche de longue haleine: je peux voir qu'il obtient un nouveau PID au moins une fois par seconde, donc je suppose que quelque chose le déclenche constamment.

Il le fait tout le temps, même lorsque je n'ai aucune application en cours d'exécution.

Quelqu'un d'autre a-t-il vu cela? Comment puis-je savoir ce qui cause cela?

Réponses:


7

En suivant les conseils d'Isxek, j'ai utilisé Process Explorer pour voir ce qui se passe. J'ai trouvé ça:

entrez la description de l'image ici

Les processus qui se terminent sont surlignés en rouge; ceux qui viennent de commencer sont verts. Cela montre que ngen.exe se termine constamment et est redémarré. Du graphique en haut, vous pouvez voir qu'il fonctionne pendant environ une seconde à chaque fois.

Comme le dit Jim B, netfxupdate.exe progresse dans le framework .NET. La mienne était en cours depuis plusieurs semaines, donc pour une raison quelconque, il semble qu'elle soit restée coincée dans quelque chose et ne faisait aucun progrès.

En utilisant regedit, j'ai trouvé l'entrée qui démarre netfxupdate.exe chaque fois que je démarre mon PC:

entrez la description de l'image ici

Il semble qu'il soit bloqué sur les bibliothèques .NET 1.1 pour une raison quelconque. Je suis développeur .NET et une partie de mon code s'exécute sur .NET 1.1. Tout semble fonctionner correctement, j'ai donc supprimé cette entrée du registre et redémarré ma machine.

Cela fait maintenant quelques jours sans aucun problème (même lors du développement avec .NET 1.1), je suis donc satisfait de cette solution.


5

NGEN est le générateur de code natif pour le framework dotnet. il se transformera en tâche de fond jusqu'à ce que les assemblys natifs aient été générés


4
Cela dure depuis quelques semaines maintenant - huit heures par jour, cinq jours par semaine. Ce n'est sûrement pas normal?
teedyay

5

Le fichier ngen.exesemble faire partie de Microsoft .NET Framework, selon ProcessLibrary.com . Je l'ai recherché dans un ordinateur portable Windows 7 que j'utilise, mais je ne l'ai pas trouvé.

Vous pouvez utiliser Process Explorer pour déterminer s'il s'agit d'un fichier légitime de Microsoft. Faites un clic droit sur ngen.exe là lorsque vous le voyez, choisissez Propriétés, puis cliquez sur le bouton Vérifier. Vous devriez voir quelque chose comme ça (l'image est pour svchost.exe):

entrez la description de l'image ici

S'il ne s'enregistre pas comme vérifié, vous voudrez peut-être essayer les conseils donnés ici: Comment puis-je supprimer les logiciels espions malveillants, les logiciels malveillants, les logiciels publicitaires, les virus, les chevaux de Troie ou les rootkits de mon PC?


1

FYI - Le NetFxUpdate sur mon Windows 2008R2 s'est également bloqué après avoir installé la v1.1,% temp% \ netfxupdate.log montre:

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 =

puis (encore et encore):

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

Même correction que vous, supprimez la clé HKLM ... \ Run.



0

J'ai également rencontré le problème où NGEN prendrait beaucoup de ressources CPU sans raison apparente. J'ai essayé d'appliquer quelques correctifs trouvés sur divers forums mais pas de chance.

LE CORRECTIF (cela a fonctionné pour moi et cela n'a pas beaucoup de sens pourquoi cela fonctionne): si vous ouvrez l'emplacement du fichier en cliquant avec le bouton droit sur le processus ngen, il y a un fichier texte nommé "ngen" dans le répertoire principal. J'ai supprimé le fichier et je n'ai pas vu ngen pendant une semaine entière et je compte.

Si quelqu'un veut essayer ceci et confirmer le "correctif", allez-y.


0

J'exécute toujours ces commandes après une nouvelle installation et une mise à jour récente:

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

Attendez qu'ils finissent et vous ne verrez plus ngen.


-1

Après avoir supprimé la clé de registre ci-dessous \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework \ v2.0.50727 \ NGenService \ Roots NGen va créer la structure de registre par elle-même, ce qui «résout» le problème

La source

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.