If you see 100% or high CPU, GPU or Disk usage by the .NET Runtime Optimization Service (mscorsvw.exe) on your Windows 11/10 PC, then this guide will help you fix the problem.
Why is .NET Runtime Optimization Service using a high CPU?
The major reasons for the .NET Runtime Optimization Service to use a high CPU on your PC is if the related process mscorsvw.exe is precompiling .NET assemblies in the background and once it’s done, it will go away. The other potential causes could be:
- .NET Runtime Optimization running slow
- Conflicting program or malware running on your PC
- Corrupt .NET Runtime Optimization
Fix .NET Runtime Optimization Service High CPU usage
When you see .NET Runtime Optimization Service’s high CPU usage on your PC, you can fix it in the following ways.
- End the mscorsvw.exe process using Task Manager
- Run a Malware scan
- Optimize .Net Runtime Optimization Service
- Use the official script by Microsoft
- Restart NVIDIA Telemetry Service
Let’s get into the details of every method and fix the issue.
1] End the mscorsvw.exe process using Task Manager
Open Task Manager, click on the Details tab, locate the mscorsvw.exe process, right-click on it and select End process tree.
2] Run a Malware scan
The legit mscorsvw.exe file is located here:
C:\Windows\Microsoft.NET\Framework\
Or
C:\Windows\Microsoft.NET\Framework64
If it is found elsewhere, it could be malware. This malware present on your PC might be responsible for the high CPU usage by the .NET Run Optimization service. Scan your PC with an antivirus or anti-malware program to fix the issue. The antivirus or anti-malware program will take care of the malware.
You may also right-click on the file to check its Properties.
3] Optimize .Net Runtime Optimization Service
The Windows-native tool ngen.exe has the capability to improve the performance of the .NET Runtime Optimization. You have to run it through Command Prompt on your PC.
To do so, click on the Start menu and search for cmd. You will see Command Prompt in the results. Right-click on it and click on Run as administrator in the context menu or directly click on Run as administrator in the search results under Command Prompt. In the Command Prompt window, enter the following.
If you have a 32-bit Windows PC, then enter,
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
If you have a 64-bit Windows PC, then enter,
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319
Now, you have to run Ngen.exe. To run it, type the following command.
ngen.exe executequeueditems
It will help you fix the issue by reducing the high CPU usage by the .NET Runtime Optimization.
3] Use the official script by Microsoft
This does exactly what ngen.exe did. But, it is a script released by Microsoft. You need to download it from Github. Once you are on the page, click on the Raw button above the code and save it as a .wsf file. Then, run the .wsf file on your PC.
4] Restart NVIDIA Telemetry Service
Restarting NVIDIA Telemetry Service also can help fix the issue as restarting or relaunching it might fix the corrupted data with the .NET Runtime Optimization. This is a working fix that worked for many users with the same issue.
Open Run command and type Services.msc. Find NVIDIA Telemetry Service in the list of services and double click on it. It will open an NVIDIA Telemetry Service window. Click on Stop first and then Start to restart it.
These are the different ways using which you can fix the high CPU usage issue by the .NET Runtime Optimization.
How do I fix NET Runtime Optimization Service high CPU?
You can fix them using the suggested methods like running a Malware scan or optimizing .Net Runtime Optimization Service using ngen.exe, or using the official script by Microsoft, or restarting the NVIDIA Telemetry Service.
Can I disable .NET Runtime Optimization Service?
The .NET Runtime Optimization service makes Windows run fast. If you disable it, the performance of your PC might come down. It is entirely up to you to disable it or use it.