If you’ve experienced your computer suddenly slowing down, you might have checked the Task Manager and found a process called .NET Runtime Optimization Service (Mscorsvw.exe) causing high CPU usage in Windows 11 or Windows 10. This process can be puzzling, but this article will help you understand what it is and provide you with solutions to resolve the high CPU usage issue.
Also see: What is Microsoft Edge WebView2 Runtime and How to Uninstall it?
Page Contents
What is .NET Runtime Optimization Service Mscorsvw.exe?
.NET Runtime Optimization Service, also known as mscorsvw.exe, is a core component of Windows. It is a Windows service that pre-compiles .NET assembly files, making the launch of programs made in .NET framework much faster.
You must have used some apps built with .NET Framework without even realizing it. The .NET Runtime Optimization Service is responsible for optimizing your Windows to make apps launch much faster. By default, the service runs in the background when it detects that your PC is in idle mode, and once the compilation is complete, it will stop.
However, depending on the number of .NET programs you have installed, the size of those programs, and your PC’s performance, it may take some time for the service to complete its run, causing high CPU usage in Windows 11/10 during the process.
The service can also appear in multiple mscorsvw.exe processes, causing high CPU, RAM, or Disk usage spikes up to 100%.
Why is the .NET Runtime Optimization Service CPU usage so high?
Although we do not recommend terminating the service as it is beneficial for your PC, you can terminate the service by simply clicking End Task while selecting the process in Task Manager. Doing this will temporarily get rid of the process, but it will come back later when your PC goes idle again.
You do not need to worry about this process as it will go away by itself once its work is done. It will only run when a new app or program made in .NET Framework is installed on your system, or when you install the .NET Framework Redist.
If the .NET Runtime Optimization Service runs endlessly at high CPU usage, the problematic program might be the one causing the issue. Instead of disabling the process, try fixing or removing the program first.
If the CPU resource consumption by the process bothers you, or if you want to stop the service entirely, read below.
Speed up the .NET Runtime Optimization Service
Before disabling the service, try to speed up the process. By doing this, it can get its work done faster, and you can then get on with other things.
By default, the .NET Runtime Optimization Service runs at a single-core processor. To help speed it up, right-click on the process in the Details tab in Task Manager, select Set Affinity. Then, select All processors and make sure all CPU cores are checked. Right-click the process again and select Set Priority. Give it a priority of High.
After the change, the .NET Runtime Optimization Service may cause temporary high CPU usage and spike up to 100%, but this will allow the service to run at maximum speed, completing its work faster. Once its job is done, it will go away by itself.
How to stop the problem service?
We don’t recommend disabling the service, but if you prefer to do so, you can disable the .NET Runtime Optimization Service in the Services setting. Here’s how:
- Press Win+R keys on your keyboard to open Run window.
- Type services.msc and hit Enter.
- Double-click on the services named Microsoft .NET Framework NGEN.
- Click on the Startup type drop down menu and select Disabled.
- Click Apply, then OK.
Close the Services panel and restart your PC to see if the issue is resolved.
The regedit way to disable the service
If you have no access to the Services panel or you just prefer to do it the other way, you can disable the service via Registry Editor. Please keep in mind that registry editing may cause serious problems if it is done incorrectly. Backup your registry before modifying anything and do it at your own risk.
Go to the start menu or press Win+R key. Type regedit to open Registry Editor. Navigate to the following registry folder. If you see multiple clr_optimization folders, select the latest version number.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\clr_optimization_(version number)
On the right pane, double-click on the Start registry. In the value data field, enter 4 (to disable the service) then click OK. This value represents the startup type for the .NET Runtime Optimization Service. Enter 2 for Automatic, 3 for Manual, and 4 for Disabled.
Once done, close the Registry Editor and restart your computer. Verify if the high CPU usage problem is fixed.
Final thoughts
The .NET Runtime Optimization Service is a core component of Windows that pre-compiles .NET assembly files so that apps made in .NET can launch faster. Although the service may cause high CPU usage in Windows 11/10, it will go away when its work is done.
If you experience endless high CPU usage, try to fix or remove the problematic .NET program first. If you want to stop the service entirely, you can disable it temporarily or permanently via Task Manager or Registry Editor, respectively. However, we do not recommend disabling the service, as it is typically doing something good for your PC.