Typically, the .Net Framework code is compiled in an intermediate language and then compiled into native machine code. This process causes a slight delay when a JIT (Just-in-Time) compilation occurs. However, when the Ngen.exe runs in the background, it reduces the delay by precompiling IL (Intermediate Language) assemblies into native machine code. So, if the ngen.exe is consuming high CPU usage, there is a high chance that this file becomes corrupted or outdated, which is why it is consuming a lot of CPU resources. To fix this issue, you need to follow the methods one by one to get this issue resolved.
1. Ensure Ngen.exe (Native Images) are updated
Since Ngen.exe is a part of the .Net Framework, it is recommended to ensure that all the compilations of the native images are up to date. To do this, you will have to put a command that will let you update the compilation of the native images. This often helps fix the high CPU usage. To do so, follow the steps:
2. Remove the Ngen text file
The Ngen text file contains the instructions that ngen.exe needs to proceed. One of the affected users has confirmed that removing the ngen text file resolved the high CPU usage issue. Therefore, in this step, we will try deleting the Ngen text file. Follow the instructions to remove the ngen text file.
3. Force Update Ngen.exe
If the issue persists, you can try forcing the ngen.exe to update. Since outdated ngen.exe might cause irrelevant consumption of CPU resources, updating it might fix this issue. Follow the steps to do so:
4. Run DISM and SFC Commands
DISM, short for Deployment Image Servicing and Management, is used to restore Windows images. Meanwhile, the SFC, short for System File Checker, is used to repair the protected system files from the cached folder. Both command line utilities are intended to restore the system files, especially the executable and DLL files. Therefore, in this method, we will try running these command line utilities to restore the ngen.exe file.
5. Disable the Automatic Updates
Although this solution is weird, it actually worked for one of the affected users. Disabling the automatic Windows update will prevent the upcoming updates from installing automatically. Only follow this method if you can afford to disable the updates. To do so, follow the steps:
6. Disable .NET Framework tasks from Task Scheduler
You can also disable the .net framework from the task scheduler, which should prevent the ngen.exe from consuming an accessive amount of CPU resources. A task scheduler works like a job scheduler that is used to launch programs or scripts at a predefined time or after specified time intervals. However, disabling the .NET Framework might cause applications to not work. Therefore, either ensure that you don’t have any .Net Framework application or ignore this method and proceed to other troubleshooting options. To do so, follow the steps:
7. Ensure ngen.exe is legitimate
If the ngen.exe is still causing high CPU, it is essential to ensure that your Windows is not infected by the malware or virus. When an executable file causes high CPU usage, it often indicates that the process could be malicious. To ensure this, you need to navigate to the directory where the ngen is located by right-clicking on the ngen process from the task manager. Then, open the details tab by accessing the properties of ngen. Now, here if you see @Microsoft Corporation. All rights reserved; it means the file is legitimate. However, it is still recommended to scan your system with the Windows Defender or any third-party antivirus utility to ensure that the ngen.exe is not affected by the malware. Follow the steps to do so: You should not ignore this issue if it still persists, as it consumes a lot of CPU consumption, which cannot be ignored. Since you have come this far, consider using a system restore utility or try resetting or reinstalling Windows. That’s it.


















