ngen.exe 高 cpu windows 10 - 程序集卸载无限循环

Vik*_*tor 14 windows cpu-usage regedit .net-framework

每当我让计算机闲置几分钟时,我就会回来,我的进程资源管理器显示“ngen.exe”正在运行并占用了我 4 个 CPU 中的 2 个。

问题:有没有办法将 NGEN.exe 作为后台任务关闭?

我想(就像互联网上的许多其他人一样)一次编译所有 .net 二进制文件,而不是每次让计算机闲置时让计算机“自动”这样做。我已经检查了整个 Microsoft 论坛,到目前为止没有人对这个问题有一个完整的答案,而且许多人都遇到了同样的问题。

显然,.net 框架中的某些库需要重新编译,它会“卡住”并将 CPU 置于高位并一遍又一遍地循环。

我刚刚遇到了同样的问题,还有另一个线程试图回答它,但它是不完整的

/HKLM/SOFTWARE/Microsoft/Windows/Current Version/RUN 的注册表没有运行 .net 编译器的条目。一定是其他原因导致 ngen.exe 触发。

有人可以发布可能触发此运行的其他位置吗?

我想关闭它,因为我相信很多其他人都会这样做。我还在 Windows 10 中禁用了自动更新。

更新:进程资源管理器说这是正在运行的:

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe" 卸载 "C:\WINDOWS\assembly\NativeImages_v4.0.30319_64\Microsoft.Vf??9a08577#\328b1bc4205??c088259f95e?e?e Microsoft.VisualSt??udio.Tools.Applicati??ons.Hosting.ni.dll”/noroot /LegacyServiceBehavior – Viktor 5 分钟前

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe" 卸载 "C:\WINDOWS\assembly\NativeImages_v2.0.50727_32\Presentation??Framewo#\7fa93028119??b98117acfd5ea18f3w15c15c ?ork.ni.dll" /noroot /LegacyServiceBehavior – Viktor 4 分钟前编辑

"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe" 卸载 "C:\WINDOWS\assembly\NativeImages_v2.0.50727_64\Microsoft.PowerShel#\23dfb41f48958215c80bbbc0c917.UtilPowerShell.b2Command.UtilPowerShellni .dll" /noroot /LegacyServiceBehavior

它一遍又一遍地运行。- 这是 Process explorer 的输出。它非常烦人,似乎每次我离开办公桌时都会发生。

问题:似乎这些是合法的过程。有谁知道手动删除那些卸载命令并完全编译 .net 框架 1 次而不是一遍又一遍地循环的方法?

当前测试:我终止了进程和 ngentask.exe,然后转到 Windows\assembly 并将这些 Native Image 文件夹移动到一个临时目录。如果它再次开始恢复,我会通知你。如果 NativeImages 文件夹丢失,它可能不会尝试继续卸载这些程序集。

mag*_*981 8

下载 Easy NGEN Script,以管理员身份运行并选择选项 1 来执行完整的 ngen 运行:

在此处输入图片说明

这需要大量时间并执行所有挂起的 ngen 操作。此后 ngen 队列为空,您不应再次看到其他任务。

  • @pijemcolu 为什么这对你来说是个问题?在编辑器中打开它,您会看到它调用 **"%windir%\Microsoft.NET\Framework\v4.0.30319\ngen.exe" update /force** 与记住这个长命令 * facepalm* 相比,输入数字更容易 (6认同)