ngen.exe sürekli CPU kullanıyor


10

Son zamanlarda Windows 7'yi yükledim. Bu temiz bir yüklemeydi (başka bir Windows sürümünden yükseltme değil), ancak bir sürü başka program yükledim. Tüm ana uygulamalar - tuhaf bir şey.

O zamandan beri, CPU kullanımım sürekli% 50 civarında.

Görev Yöneticisi bana ngen.exe suçlu olduğunu gösterir. Uzun süren bir görev değil: En az saniyede bir yeni bir PID aldığını görebiliyorum, bu yüzden sanırım bir şey sürekli tetikliyor.

Çalışan hiçbir uygulamam olmasa bile her zaman yapar.

Bunu gören başka biri var mı? Buna neyin sebep olduğunu nasıl öğrenebilirim?

Yanıtlar:


7

Isxek'in tavsiyesi üzerine neler olup bittiğini görmek için Process Explorer'ı kullandım. Bunu buldum:

resim açıklamasını buraya girin

Sona eren işlemler kırmızı ile vurgulanır; yeni başlayanlar yeşildir. Bu, ngen.exe dosyasının sürekli olarak sona erdiğini ve yeniden başlatıldığını gösterir. Üstteki grafikten her seferinde yaklaşık bir saniye çalıştığını görebilirsiniz.

Jim B'nin dediği gibi, netfxupdate.exe .NET çerçevesi üzerinden çalışıyor. Benimki birkaç haftadır gidiyordu, bu yüzden bir nedenden dolayı bir şeye yapışmış gibi görünüyordu ve herhangi bir ilerleme kaydetmiyordu.

Regedit kullanarak, bilgisayarımı her başlattığımda netfxupdate.exe başlatan girdiyi buldum:

resim açıklamasını buraya girin

Bazı nedenlerden dolayı .NET 1.1 kitaplıklarına yapışmış gibi görünüyor. Ben bir .NET geliştiricisiyim ve kodumdan bazıları .NET 1.1 üzerinde çalışıyor. Her şey yolunda gibi görünüyor, bu yüzden bu girişi kayıt defterinden kaldırdım ve makinemi yeniden başlattım.

Birkaç gün geçti (.NET 1.1'e karşı geliştirirken bile), bu yüzden bu çözümden memnunum.


5

NGEN, dotnet çerçevesi için yerel kod üretecidir. yerel derlemeler oluşturulana kadar arka plan görevi olarak ayrılır


4
Birkaç haftadır sürüyor - günde sekiz saat, haftada beş gün. Elbette bu normal değil mi?
teedyay

5

ProcessLibrary.com'angen.exe göre dosya Microsoft .NET Framework'ün bir parçası gibi görünüyor . Kullandığım bir Windows 7 dizüstü bilgisayarda aradım, ancak bulamadım.

Microsoft'tan meşru bir dosya olup olmadığını belirlemek için İşlem Gezgini'ni kullanabilirsiniz . Gördüğünüzde ngen.exe dosyasını sağ tıklatın, Özellikler'i seçin ve ardından Doğrula düğmesini tıklatın. Bunun gibi bir şey görmelisiniz (görüntü bunun için svchost.exe):

resim açıklamasını buraya girin

Doğrulanmış olarak kaydedilmezse, burada verilen önerileri denemek isteyebilirsiniz: Kötü amaçlı casus yazılımları, kötü amaçlı yazılımları, reklam yazılımlarını, virüsleri, truva atlarını veya rootkit'leri bilgisayarımdan nasıl kaldırabilirim?


1

FYI - Windows 2008R2'deki NetFxUpdate, v1.1'i yükledikten sonra da takıldı,% temp% \ netfxupdate.log şunu gösteriyor:

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 =

ve sonra (tekrar tekrar):

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

Sizinle aynı düzeltme, HKLM ... \ Run anahtarını kaldırın.



0

Ayrıca NGEN'in belirgin bir sebep olmadan çok fazla CPU kaynağı alacağı sorununu yaşadım. Çeşitli forumlarda bulunan birkaç düzeltmeyi uygulamayı denedim ama şansım yoktu.

DÜZELTME (benim için çalıştı ve neden işe yaradığı konusunda pek bir anlam ifade etmiyor): ngen sürecine sağ tıklayarak dosya konumunu açarsanız, ana dizinde "ngen" adlı bir metin dosyası vardır. Dosyayı kaldırdım ve bir hafta boyunca ve sayma için ngen görmedim.

Herkes bunu denemek ve "düzeltme" onaylamak istiyorsa bunun için gidin.


0

Her zaman yeni kurulumdan ve yeni güncellemeden sonra bu komutları çalıştırırım

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

Onların bitmesini bekleyin ve artık ngen görmeyeceksiniz.


-1

\ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework \ v2.0.50727 \ NGenService \ Roots NGen altındaki kayıt defteri anahtarını sildikten sonra, sorunu kendi kendine düzelten kayıt defteri yapısını kendisi oluşturur

Kaynak

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.