如何解决 Ngen.exe 高 CPU 使用率问题 Windows

Ngen.exe(本机图像生成器)是 .Net Framework 的一部分,用于提高托管应用程序的性能。 它从托管程序集创建本机映像。

通常,.Net Framework 代码被编译为中间语言,然后编译为本机机器代码。 当发生 JIT(即时)编译时,此操作会导致轻微的延迟。 但是,当 Ngen.exe 在后台运行时,它会通过将 IL(中间语言)程序集预编译为本机机器代码来减少延迟。

因此,如果 ngen.exe 消耗较高的 CPU 使用率,则该文件很可能已损坏或过时,这就是它消耗大量 CPU 资源的原因。 要解决此问题,您需要一一按照方法来解决问题。

1.确保Ngen.exe(本机映像)已更新

由于 Ngen.exe 是 .Net Framework 的一部分,因此建议确保所有本机映像程序集都是最新的。 为此,您需要输入一个命令来更新本机映像的组成。 这通常有助于解决 CPU 使用率过高的问题。 为此,请执行以下步骤:

  1. 开始菜单 并输入 命令提示符
  2. 右键点击 命令提示符 并选择 以管理员身份执行
  3. 现在根据您的系统类型键入以下命令,然后单击 Enter 执行。
    For 32-bit: cd c:WindowsMicrosoft.NETFrameworkv4.0.30319
    For 64-bit: cd c:WindowsMicrosoft.NETFramework64v4.0.30319

  4. 要查找系统类型,请单击 开始菜单 并输入 大约
  5. Enter 导航至“关于”设置。
  6. 在这里您可以看到所有系统规格,包括系统类型。
  7. 确定系统类型后,返回命令提示符并键入适当的命令。
  8. 导航到框架文件夹后,输入以下命令。
    ngen.exe executequeueditems

  9. 完成后,打开任务管理器并检查 ngen.exe 高 CPU 使用率问题是否消失。

2.删除Ngen文本文件

Ngen 文本文件包含 ngen.exe 继续运行所需的指令。 一位受影响的用户已确认删除 NGEN 文本文件修复了高 CPU 使用率问题。 因此,在这一步中我们将尝试删除 Ngen 文本文件。 按照提示删除 NGEN 文本文件。

  1. 打开 文件管理器 按下按钮 + 同时按键。
  2. 导航到以下目标并找到 NGEN 文本文件。
    c:WindowsMicrosoft.NETFramework64v4.0.30319
  3. 制作 NGEN 文本文件的备份副本,然后右键单击它并将其删除。
  4. 之后,检查问题是否解决。

3.强制更新Ngen.exe

如果问题仍然存在,您可以尝试强制更新 ngen.exe。 由于过时的 ngen.exe 可能会导致 CPU 资源消耗微不足道,因此更新可能会解决此问题。 为此,请执行以下步骤:

  1. 打开那个 开始菜单 用于 钥匙。
  2. 类型 命令提示符右键单击它并选择 以管理员身份执行
  3. 然后根据自己的需要输入以下命令 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. 之后,检查问题是否解决。

4.运行DISM和SFC命令

DISM,部署映像服务和管理的缩写,用于恢复 Windows 图片。 同时,SFC(系统文件检查器的缩写)用于从缓存文件夹中修复受保护的系统文件。 这两个命令行实用程序都旨在恢复系统文件,特别是可执行文件和 DLL 文件。 因此,在此方法中,我们将尝试运行这些命令行实用程序来恢复 ngen.exe 文件。

  1. 按 键 键和类型 命令提示符
  2. 右键单击命令提示符并选择 以管理员身份执行
  3. 现在输入以下命令并单击 Enter 处决他们。 这可能需要几分钟的时间。
    DISM /Online /Cleanup-Image /RestoreHealth
    sfc /scannow

  4. 验证完成后,关闭命令提示符并检查 ngen.exe 是否导致 CPU 使用率过高。

5.禁用自动更新

尽管这个解决方案很奇怪,但它实际上对受影响的用户之一有效。 停用自动功能 Windows 更新会阻止自动安装即将发布的更新。 仅当您有能力关闭更新时才采用此方法。 为此,请执行以下步骤:

  1. 打开那个 运行程序 按下按钮 + 同时按键。
  2. 类型 gpedit.msc 在输入字段中并单击 好的 导航至 组策略编辑器
  3. 转到组策略编辑器 计算机配置 > 管理模板 > Windows 组件 > Windows 更新
  4. 双击 管理最终用户体验 查看更多选项。
  5. 双击此处 配置自动更新 并选择 残疾人
  6. 完成后,单击 申请 然后单击 好的

6. 在任务计划程序中禁用.NET Framework 任务

您还可以在任务计划程序中禁用.net框架,以防止ngen.exe消耗过多的CPU资源。 任务调度程序的工作方式类似于作业调度程序,用于在预定义的时间或指定的时间间隔后启动程序或脚本。

但是,禁用 .NET Framework 可能会导致应用程序无法运行。 因此,要么确保您没有 .Net Framework 应用程序,要么忽略此方法并继续执行其他故障排除选项。

为此,请执行以下步骤:

  1. 开始菜单 并输入 任务调度程序
  2. Enter 导航到任务计划程序。
  3. 使用左侧菜单并导航至 任务调度程序库 > 微软 > Windows > .Net框架
  4. 右键单击 .Net Framework 任务并选择 任何。 对每个人重复此步骤 .Net 框架任务
  5. 完成后,重新启动计算机以使更改生效。
  6. 之后,检查这是否有效。

7.确保ngen.exe是合法的

如果 ngen.exe 仍然导致 CPU 使用率过高,请务必确保您的 Windows 没有感染恶意软件或病毒。 当可执行文件导致 CPU 使用率过高时,通常表明该进程可能是恶意的。 为了确保这一点,您需要通过右键单击任务管理器中的 ngen 进程来导航到 ngen 所在的目录。 然后通过访问 ngen 的属性打开“详细信息”选项卡。

在这里您可以看到@Microsoft Corporation。 版权所有; 这意味着该文件是合法的。 但是,仍然建议扫描您的系统 Windows Defender 或第三方防病毒软件可确保 ngen.exe 不受恶意软件的影响。 为此,请执行以下步骤:

  1. 按 键 键和类型 Windows 安全
  2. Enter 导航至安全设置。
  3. 导航 病毒和威胁防护
  4. 点击 扫描选项 查看更多扫描选项。
  5. 选择 全盘扫描 然后单击 现在扫描 可能性。
  6. 等待扫描过程完成。
  7. 然后检查问题是否解决。

如果这个问题持续存在,您不应该忽视它,因为它会导致大量的 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