ngen.exe一直在使用CPU


10

我最近安装了Windows7。这是全新安装(即不是从Windows的另一个版本升级),但是我确实安装了许多其他程序。所有主流应用程序-没什么古怪的。

从那时起,我的CPU使用率一直稳定在50%左右。

任务管理器向我显示了ngen.exe是罪魁祸首。这不是一项长期运行的任务:我可以看到它至少每秒获得一次新的PID,因此我猜是不断地触发它。

即使我没有运行的应用程序,它也会一直执行。

其他人看到了吗?我如何找出造成这种情况的原因?

Answers:


7

遵循Isxek的建议,我使用Process Explorer来查看发生了什么。我找到了这个:

在此处输入图片说明

即将结束的进程以红色突出显示;刚开始的是绿色的。这表明ngen.exe不断结束并重新启动。在顶部的图表中,您可以看到它每次运行大约一秒钟。

正如Jim B所说,netfxupdate.exe正在通过.NET框架进行工作。我的已经走了好几个星期,所以由于某种原因,它似乎卡在了什么东西上,没有取得任何进展。

使用regedit,我发现每次启动PC时都会启动netfxupdate.exe的条目:

在此处输入图片说明

由于某种原因,它似乎卡在.NET 1.1库中。我是.NET开发人员,我的某些代码在.NET 1.1上运行。一切似乎都工作正常,因此我从注册表中删除了该条目并重新启动了我的计算机。

现在已经有两天没有问题了(即使在针对.NET 1.1开发时也是如此),所以我对这种解决方案感到满意。


5

NGEN是dotnet框架的本机代码生成器。它会作为后台任务消失,直到生成本机程序集


4
现在已经进行了几周-一周八天,每天八小时。那肯定不正常吗?
teedyay 2010年

5

ngen.exe根据ProcessLibrary.com,该文件似乎是Microsoft .NET Framework的一部分。我在使用的Windows 7笔记本电脑中进行了搜索,但找不到。

您可以使用Process Explorer来确定它是否是Microsoft的合法文件。看到它时,右键单击ngen.exe,选择“属性”,然后单击“验证”按钮。您应该看到类似这样的图片(该图片用于svchost.exe):

在此处输入图片说明

如果未注册为已验证,则您可能要尝试以下建议:如何从PC上删除恶意间谍软件,恶意软件,广告软件,病毒,特洛伊木马或rootkit?


1

仅供参考-我安装v1.1后,Windows 2008R2上的NetFxUpdate也卡住了,%temp%\ netfxupdate.log显示:

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 =

然后(一遍又一遍):

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

与您相同的解决方案,删除HKLM ... \ Run键。



0

我还遇到了一个问题,即NGEN会无缘无故地占用大量CPU资源。我尝试应用在各种论坛上发现的一些修复程序,但没有运气。

FIX(对我有用,它为什么起作用没有太大意义):如果通过右键单击ngen进程打开文件位置,则主目录中有一个名为“ ngen”的文本文件。我删除了文件,并且整整一周都没有看到ngen并计数。

如果有人想尝试一下并确认“修复”,那就去做。


0

在全新安装和全新更新后,我总是运行以下命令:

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

等待它们完成,您将不再看到ngen。


-1

删除\ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft.NETFramework \ v2.0.50727 \ NGenService \ Roots下的注册表项后,NGen会自行构建注册表结构,从而“解决”该问题

资源

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.