High CPU Usage by .NET Runtime Optimization Service [Quick Solution for Windows 10/11]

There are many ways to stop.NET runtime optimization service from wasting your CPU resources. If you’re running Windows Server 2008 R2 or later, there are several built-in tools to help you manage it.

If you’re running Windows Server 2003, you’ll need to use third-party software. For example, Microsoft provides a tool called “Process Explorer,” which allows you to view detailed information about each process and how much CPU time it is consuming.

You can also use third-party software to monitor the performance of your server. One such product is Resource Monitor.

Fix #1. Make a Malware Scan

If you are new to this method, we highly suggest reading our guide to Malware Removal Guide. This article will help you understand how to make a Malware Scan.

Step 1 – Download MalwareBytes’ AntiMalware Free Edition.

Download MalwareBytes’ Anti Malware Free Edition here.

Step 2 – Run it.

Once downloaded, double click mbam-setup.exe to run the installation. Accept the EULA (End User License Agreement). Click Next. Select I Agree and click Install. Wait while it installs. Once installed, launch MBAM and select Update Malware Definitions. Allow it to update. When done, close MBAM.

Step 3 – Start Scanning.

Start MBAM and scan your computer now. If it finds something, do one of the following:

Fix #2. Speed up the .NET Service

There are many reasons why you could experience problems with the.Net Runtime Optimization Service. In most cases, the cause is related to the way the.Net Framework handles memory allocation. To address this issue, we recommend running the following commands in the Windows Command prompt.

ngen.exe /forcec:\windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe /f:”C:\Windows\Microsoft.NET\assembly\GAC_MSIL\System.Runtime\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.dll” /out:”C:\Windows\system32\System.Runtime.Ngen.dll”

The above command tells the.Net framework to compile the System.Runtime dll into a standalone assembly. Next, execute the following command to load the compiled assembly into the process space.

/load:”C:\Windows\System32\System.Runtime\System.Runtime.nGen.dll”

This fixes the issue of slow startup times caused by the.Net Runtime Optimization Service being unable to allocate enough memory for itself. If you still see issues with the service, please contact our support team.

Fix #3: Use Microsoft’s Script

The most commonly used scripting language for Windows applications is VBA, which stands for Visual Basic for Applications. However, there are some limitations to it. One of those limitations is that it doesn’t support Unicode. If you want to use Unicode characters like Chinese, Japanese, Korean, Arabic, etc., you’ll need another script.

Microsoft provides a free tool called “Script Editor,” which lets you write scripts in JavaScript. You can download it here. Once you’ve installed it, open it up and start creating your scripts.

If you’re looking for something even easier, I recommend using Notepad++. It’s a great text editor with lots of features. In fact, it supports both JavaScript and VBA syntax highlighting. After installing it, just double-click on the file named “Notepad++.exe.”

Once you’ve got that set up, you can now use Notepad++ to write your scripts. Just save them as.js files and they’ll work fine.

Fix #4: Start the Nvidia Telemetry Service over again.

NVIDIA has released a hotfix for some of its GeForce GTX graphics cards. Users who are experiencing issues with the GeForce Experience application crashing on startup should restart the service and try again. If the issue persists, it could mean that there is something wrong with the driver installation process. In that case, users should uninstall the drivers and reinstall them. For more information about how to do this, please refer to our previous article.

The following models are affected by this issue:

GeForce RTX 2080 Ti

GeForce RTX 2070 Super

GeForce RTX 2060 SUPER

GeForce RTX 20 Series

GeForce GTX 1650

Fix #5: Do a “clean boot.”

If you are experiencing frequent crashes or freezing while working on your PC, it could be due to software conflicts. If you are having trouble identifying what program is causing the issue, try performing a clean boot.

A clean boot clears out everything that is running on your computer, including old programs. You can do this manually by pressing the F8 key repeatedly during the initial start up process. Or you can use a utility called Startup Repair, which automatically performs a clean boot.

To prevent future issues, you must ensure that no third party programs are running when you reboot. Some third party apps store information about your hardware and operating systems on your hard drive, making it difficult to identify the source of the issue.

In some cases, disabling the problematic application before restarting will allow you to continue working without interruption. However, if you experience further issues, you should perform a clean boot.

Information Behind the Issue

In recent weeks, many Android devices have been affected by a malicious app called Fake Flashlight. This app installs itself without permission, and it claims to provide a flashlight feature. However, once installed, it displays ads and takes up unnecessary space. If you see such a warning screen, do not install the app. You can download the latest version of the app here.

Fake Flashlight uses a technique known as “root access.” Root access allows malware to run commands on your device. For example, it could change the settings on your phone or delete files. In addition, root access gives hackers full control over your device. Because of this, we recommend that you remove Fake Flashlight immediately. To learn how to uninstall the app, please follow our guide here.

If you want to prevent this type of attack from happening again, make sure that you keep your device updated. We recommend downloading the latest version of your operating system directly from the manufacturer. Also, make sure that there aren’t any unknown applications running on your device. Finally, always use caution when clicking on links in emails or social media posts. These messages often contain malicious software disguised as something else.

Fixes You Shouldn’t Use

Microsoft introduced.NET Runtime Optimization Service (ROS) in Windows 10 1809. This feature helps improve performance by disabling some services that aren’t used anymore. However, there are several registry hacks that disable ROS without providing any benefits. Here are three such examples.

Disable ROS via Registry Hack #1

The following registry key prevents ROS from being disabled automatically. To disable ROS manually, you must open regedit and delete the value named “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\dotnetcorehosting”, which is located under HKEY_LOCAL_USER\Software\Microsoft\Windows NT\.

Disable ROS via Registry hack #2

Another way to disable ROS is to add the following string into the registry. This method doesn’t require editing the registry directly. Instead, you just need to edit the file %windir%\System32\drivers\etc\Hosts.

Disable ROS via registry hack #3

If you don’t want to modify the Hosts file, you can use the following command to disable ROS.

Frequently Asked Questions

Why is .NET Runtime Optimization Service using a high CPU?

The.NET Runtime Optimization Service is a Windows utility that runs in the background of your computer. This tool helps you optimize your application performance by enabling the compiler to compile less often. If the related process mscorwks.dll is precompiling.Net assemblies in the background, it will consume a considerable amount of system resources. Once the precompilation is finished, the process will exit automatically. However, if the process is still active, you might notice a spike in CPU usage.

You can check whether the process is causing issues on your computer by opening Task Manager and looking for the entry named Microsoft Visual Studio 2010 Precompiled Assemblies under Processes tab. You can end the process there to free up some resources.

If the issue persists, you can try disabling the feature altogether. To do this, open Registry Editor and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\PrecompiledAssemblies\. Then delete the key named mscorwks and restart your computer.

Can I disable .NET Runtime Optimization Service?

The.NET runtime optimizer service works behind the scenes to make sure that applications written in Microsoft’s programming language are executed efficiently. This includes things like ensuring that memory allocations are done correctly, making sure that data structures are properly used, and even performing garbage collection. When disabled, the service can cause your computer to perform slower. However, there is no way to turn off the service without disabling it completely.

If you want to do that, open the Registry Editor and navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\dotnetfxr.exe. Delete the value named DisableRuntimeOptimizations. You can now restart your machine and see whether the performance of your system improves.