Ngen.exe(本机图像生成器)是 .Net Framework 的一部分,用于提高托管应用程序的性能。 它从托管程序集创建本机映像。
通常,.Net Framework 代码被编译为中间语言,然后编译为本机机器代码。 当发生 JIT(即时)编译时,此操作会导致轻微的延迟。 但是,当 Ngen.exe 在后台运行时,它会通过将 IL(中间语言)程序集预编译为本机机器代码来减少延迟。
因此,如果 ngen.exe 消耗较高的 CPU 使用率,则该文件很可能已损坏或过时,这就是它消耗大量 CPU 资源的原因。 要解决此问题,您需要一一按照方法来解决问题。
1.确保Ngen.exe(本机映像)已更新
由于 Ngen.exe 是 .Net Framework 的一部分,因此建议确保所有本机映像程序集都是最新的。 为此,您需要输入一个命令来更新本机映像的组成。 这通常有助于解决 CPU 使用率过高的问题。 为此,请执行以下步骤:
- 按 开始菜单 并输入 命令提示符。
- 右键点击 命令提示符 并选择 以管理员身份执行。
- 现在根据您的系统类型键入以下命令,然后单击 Enter 执行。
For 32-bit: cd c:WindowsMicrosoft.NETFrameworkv4.0.30319 For 64-bit: cd c:WindowsMicrosoft.NETFramework64v4.0.30319
- 要查找系统类型,请单击 开始菜单 并输入 大约。
- 吹 Enter 导航至“关于”设置。
- 在这里您可以看到所有系统规格,包括系统类型。
- 确定系统类型后,返回命令提示符并键入适当的命令。
- 导航到框架文件夹后,输入以下命令。
ngen.exe executequeueditems
- 完成后,打开任务管理器并检查 ngen.exe 高 CPU 使用率问题是否消失。
2.删除Ngen文本文件
Ngen 文本文件包含 ngen.exe 继续运行所需的指令。 一位受影响的用户已确认删除 NGEN 文本文件修复了高 CPU 使用率问题。 因此,在这一步中我们将尝试删除 Ngen 文本文件。 按照提示删除 NGEN 文本文件。
- 打开 文件管理器 按下按钮 赢 + 乙 同时按键。
- 导航到以下目标并找到 NGEN 文本文件。
c:WindowsMicrosoft.NETFramework64v4.0.30319
- 制作 NGEN 文本文件的备份副本,然后右键单击它并将其删除。
- 之后,检查问题是否解决。
3.强制更新Ngen.exe
如果问题仍然存在,您可以尝试强制更新 ngen.exe。 由于过时的 ngen.exe 可能会导致 CPU 资源消耗微不足道,因此更新可能会解决此问题。 为此,请执行以下步骤:
- 打开那个 开始菜单 用于 赢 钥匙。
- 类型 命令提示符右键单击它并选择 以管理员身份执行。
- 然后根据自己的需要输入以下命令 Windows 系统类型。
For 32-bit: %windir%microsoft.netframeworkv4.0.30319ngen.exe update /force /queue For 64-bit: %windir%microsoft.netframework64v4.0.30319ngen.exe update /force /queue
- 之后,检查问题是否解决。
4.运行DISM和SFC命令
DISM,部署映像服务和管理的缩写,用于恢复 Windows 图片。 同时,SFC(系统文件检查器的缩写)用于从缓存文件夹中修复受保护的系统文件。 这两个命令行实用程序都旨在恢复系统文件,特别是可执行文件和 DLL 文件。 因此,在此方法中,我们将尝试运行这些命令行实用程序来恢复 ngen.exe 文件。
- 按 键 赢 键和类型 命令提示符。
- 右键单击命令提示符并选择 以管理员身份执行。
- 现在输入以下命令并单击 Enter 处决他们。 这可能需要几分钟的时间。
DISM /Online /Cleanup-Image /RestoreHealth sfc /scannow
- 验证完成后,关闭命令提示符并检查 ngen.exe 是否导致 CPU 使用率过高。
5.禁用自动更新
尽管这个解决方案很奇怪,但它实际上对受影响的用户之一有效。 停用自动功能 Windows 更新会阻止自动安装即将发布的更新。 仅当您有能力关闭更新时才采用此方法。 为此,请执行以下步骤:
- 打开那个 运行程序 按下按钮 赢 + 右 同时按键。
- 类型 gpedit.msc 在输入字段中并单击 好的 导航至 组策略编辑器。
- 转到组策略编辑器 计算机配置 > 管理模板 > Windows 组件 > Windows 更新。
- 双击 管理最终用户体验 查看更多选项。
- 双击此处 配置自动更新 并选择 残疾人。
- 完成后,单击 申请 然后单击 好的。
6. 在任务计划程序中禁用.NET Framework 任务
您还可以在任务计划程序中禁用.net框架,以防止ngen.exe消耗过多的CPU资源。 任务调度程序的工作方式类似于作业调度程序,用于在预定义的时间或指定的时间间隔后启动程序或脚本。
但是,禁用 .NET Framework 可能会导致应用程序无法运行。 因此,要么确保您没有 .Net Framework 应用程序,要么忽略此方法并继续执行其他故障排除选项。
为此,请执行以下步骤:
- 按 开始菜单 并输入 任务调度程序。
- 吹 Enter 导航到任务计划程序。
- 使用左侧菜单并导航至 任务调度程序库 > 微软 > Windows > .Net框架。
- 右键单击 .Net Framework 任务并选择 任何。 对每个人重复此步骤 .Net 框架任务。
- 完成后,重新启动计算机以使更改生效。
- 之后,检查这是否有效。
7.确保ngen.exe是合法的
如果 ngen.exe 仍然导致 CPU 使用率过高,请务必确保您的 Windows 没有感染恶意软件或病毒。 当可执行文件导致 CPU 使用率过高时,通常表明该进程可能是恶意的。 为了确保这一点,您需要通过右键单击任务管理器中的 ngen 进程来导航到 ngen 所在的目录。 然后通过访问 ngen 的属性打开“详细信息”选项卡。
在这里您可以看到@Microsoft Corporation。 版权所有; 这意味着该文件是合法的。 但是,仍然建议扫描您的系统 Windows Defender 或第三方防病毒软件可确保 ngen.exe 不受恶意软件的影响。 为此,请执行以下步骤:
- 按 键 赢 键和类型 Windows 安全。
- 吹 Enter 导航至安全设置。
- 导航 病毒和威胁防护。
- 点击 扫描选项 查看更多扫描选项。
选择 全盘扫描 然后单击 现在扫描 可能性。
- 等待扫描过程完成。
- 然后检查问题是否解决。
如果这个问题持续存在,您不应该忽视它,因为它会导致大量的 CPU 消耗,这是不可忽视的。 既然您已经走到这一步,您应该考虑使用系统恢复实用程序或尝试系统重置或重新安装 Windows。 就是这样。
Ngen.exe CPU 使用率高 – 常见问题解答
如何解决 ngen.exe 高 CPU 使用率?
由于本机映像过时或 ngen.exe 文件损坏,ngen.exe 通常会消耗大量 CPU 资源。 由于您遇到此问题,请确保您已更新 ngen.exe 或尝试运行 SFC 和 DSIM 命令来修复 ngen.exe 文件。
继续阅读
- 修复:启用 WaasMedic.exe 时 CPU 使用率过高的问题 Windows
- 修复:启用 WMI 提供程序主机 (WmiPrvSE.exe) 高 CPU 使用率 Windows 10
- 如何通过 GfxUI.exe 修复高 CPU 使用率 Windows 10
- 修复:Ntoskrnl.exe 启用高 CPU 或磁盘使用率 Windows 10