Have you noticed that your Windows PC suddenly slows down, and you went to the Task Manager to find that there is this process called .NET Runtime Optimization Service (Mscorsvw.exe) is causing high CPU usage in Windows 10 or Windows Server 2016 or 2012? If so, this article will explain what this process is about and what you can do to fix the issue.
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 so that program made in .NET can launch faster.
Software can be written in many languages. Thousands of software are written using .NET Framework. You must have used some apps built with .NET Framework without even knowing that. The .NET Runtime Optimization Service is the service that help to optimize your Windows to make apps launch much faster.
By default, .NET Runtime Optimization Service will run in the background when it detects your PC is in idle mode. Once the compilation is complete, it will go away.
Depending on the number of .NET programs you have in your Windows, the sizes of these programs and your PC performance, it may take some time for the service to complete its run and may cause high CPU usage in Windows 10 during the process.
It can appear in multiple mscorsvw.exe processes and causing high CPU, RAM or Disk usage spike up to 100%.
.NET Runtime Optimization Service High CPU usage in Windows 10
Though we would not recommend you to terminate the service as it is actually doing something good for your PC. You can, however, terminate the service by simply clicking End Task while selecting the process in Task Manager. Doing this will temporary get rid of the process, but it will still come back later when your PC goes idle again.
You should not really have to worry about this process. When its work is done, it will go away itself. It will only run when there is a new app or program made in .NET Framework is installed in your system (or when you install the .NET Framework Redist).
If the .NET Runtime Optimization Service runs endlessly at high CPU usage, it may be the program itself that is causing the issue. Instead of disabling the process, you should try to fix or remove the problematic .NET program first.
If the CPU resources consumption by the process bothers you or if you just want to stop the .NET Runtime Optimization Service process entirely, read below.
Speed up the .NET Runtime Optimization Service
Before you go on to disable the service, we suggest you to first try to speed up the process. By speeding it up, it can get its work done faster and you can then get on to other things.
By default, .NET Runtime Optimization Service runs at single core processor. To help speed it up, right-click 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, .NET Runtime Optimization Service may cause temporary high CPU usage and as high as 100% which is exactly what we intend to do. Doing this should allow .NET Runtime Optimization Service to run at maximum speed, thus, completing its work faster. Once its job is done, it will go away itself.
How to stop .NET Runtime Optimization Service High CPU
To permanently stop the service, which again is something we would not recommend doing, you can disable the .NET Runtime Optimization Service in the Services setting. Here’s how to do it.
- 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, then select Disabled.
- Click Apply, then OK.
Close the Services panel and restart your PC. The .NET Runtime Optimization Service high CPU usage in Windows 10 issue should be 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 problem if it is done incorrectly. Backup your registry before modifying anything and do it at your own risk.
Go to 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.
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 .NET Runtime Optimization Service high CPU usage in Windows 10 problem is fixed.