ngen.exe verwendet ständig CPU

10

Ich habe kürzlich Windows 7 installiert. Dies war eine Neuinstallation (dh kein Upgrade von einer anderen Windows-Version), aber ich habe eine Reihe anderer Programme installiert. Alle Mainstream-Anwendungen - nichts Verrücktes.

Seitdem liegt meine CPU-Auslastung konstant bei rund 50%.

Der Task-Manager zeigt mir, dass ngen.exe der Schuldige ist. Es ist keine langwierige Aufgabe: Ich kann sehen, dass es mindestens einmal pro Sekunde eine neue PID erhält, also denke ich, dass etwas sie ständig auslöst.

Es macht es die ganze Zeit, auch wenn keine Anwendungen ausgeführt werden.

Hat das noch jemand gesehen? Wie finde ich heraus, was dies verursacht?

teedyay
quelle

Antworten:

7

Nach Isxeks Rat habe ich Process Explorer verwendet, um zu sehen, was los ist. Ich habe das gefunden:

Geben Sie hier die Bildbeschreibung ein

Prozesse, die beendet werden, werden rot hervorgehoben. diejenigen, die gerade erst anfangen, sind grün. Dies zeigt, dass ngen.exe ständig beendet und neu gestartet wird. In der Grafik oben sehen Sie, dass sie jedes Mal etwa eine Sekunde lang ausgeführt wird.

Wie Jim B sagt, arbeitet sich netfxupdate.exe durch das .NET Framework. Meins war schon seit mehreren Wochen in Betrieb, daher sieht es aus irgendeinem Grund so aus, als ob es an etwas hängen geblieben wäre und keine Fortschritte gemacht hätte.

Mit regedit habe ich den Eintrag gefunden, der netfxupdate.exe startet, wenn ich meinen PC starte:

Geben Sie hier die Bildbeschreibung ein

Es sieht so aus, als ob es aus irgendeinem Grund in den .NET 1.1-Bibliotheken stecken bleibt. Ich bin ein .NET-Entwickler und ein Teil meines Codes läuft auf .NET 1.1. Es scheint alles gut zu funktionieren, also habe ich diesen Eintrag aus der Registrierung entfernt und meinen Computer neu gestartet.

Es ist jetzt ein paar Tage ohne Probleme (auch bei der Entwicklung gegen .NET 1.1), daher bin ich mit dieser Lösung zufrieden.

teedyay
quelle
5

NGEN ist der native Codegenerator für das Dotnet-Framework. Es wird als Hintergrundaufgabe ausgegeben, bis die nativen Assemblys generiert wurden

Jim B.
quelle
4
Es ist jetzt seit ein paar Wochen in Betrieb - acht Stunden am Tag, fünf Tage die Woche. Das ist doch nicht normal?
Dienstag,
5

Die Datei ngen.exescheint laut ProcessLibrary.com Teil von Microsoft .NET Framework zu sein . Ich habe in einem Windows 7-Laptop, den ich verwende, danach gesucht, konnte es aber nicht finden.

Mit Process Explorer können Sie feststellen, ob es sich um eine legitime Datei von Microsoft handelt. Klicken Sie dort mit der rechten Maustaste auf ngen.exe, wenn Sie es sehen, wählen Sie Eigenschaften und klicken Sie dann auf die Schaltfläche Überprüfen. Sie sollten so etwas sehen (das Bild ist für svchost.exe):

Geben Sie hier die Bildbeschreibung ein

Wenn es sich nicht als verifiziert registriert, können Sie die hier gegebenen Ratschläge ausprobieren: Wie kann ich schädliche Spyware, Malware, Adware, Viren, Trojaner oder Rootkits von meinem PC entfernen?

Isxek
quelle
1

Zu Ihrer Information - Das NetFxUpdate unter Windows 2008R2 blieb auch nach der Installation von Version 1.1 hängen.% Temp% \ netfxupdate.log zeigt:

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 =

und dann (immer und immer wieder):

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

Entfernen Sie den gleichen HKLM ... \ Run-Schlüssel wie Sie.

Hornblower409
quelle
0

Ich habe mich auch mit diesem Problem konfrontiert. Aber die Antwort von teedyayhat mir nicht geholfen. Die Lösung, die DID half, ist das Deaktivieren automatischer Updates. Siehe /superuser//a/502049/201171

white.zaz
quelle
0

Ich habe auch das Problem erlebt, dass NGEN ohne ersichtlichen Grund viele CPU-Ressourcen beanspruchen würde. Ich habe versucht, ein paar Korrekturen in verschiedenen Foren anzuwenden, aber kein Glück.

DAS FIX (das hat bei mir funktioniert und es macht nicht viel Sinn, warum es funktioniert): Wenn Sie den Speicherort der Datei öffnen, indem Sie mit der rechten Maustaste auf den Prozess ngen klicken, befindet sich im Hauptverzeichnis eine Textdatei mit dem Namen "ngen". Ich habe die Datei entfernt und seit einer ganzen Woche ngen nicht mehr gesehen und gezählt.

Wenn jemand dies versuchen und das "Update" bestätigen möchte, versuchen Sie es.

GoodSimeritan
quelle
0

Ich führe diese Befehle immer nach der Neuinstallation und der Aktualisierung aus:

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

Warten Sie, bis sie fertig sind, und Sie werden ngen nicht mehr sehen.

Futur'Fusionneur
quelle
-1

Nach dem Löschen des Registrierungsschlüssels unter \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework \ v2.0.50727 \ NGenService \ Roots baut NGen die Registrierungsstruktur selbst auf, wodurch das Problem „behoben“ wird

Quelle

Александр Митюшов
quelle