Пользователи Windows 11, 10 и более ранних версий ОС при высокой нагрузке на процессор, заглянув в диспетчер задач, могут обнаружить, что систему грузит процесс mscorsvw.exe или .NET Runtime Optimization Service.
В этой инструкции подробно о том, что это за процесс, а также о том, что делать, чтобы снизить нагрузку на систему со стороны .NET Runtime Optimization Service.
Что за процесс mscorsvw.exe или .NET Runtime Optimization Service
.NET Runtime Optimization Service и соответствующий ему процесс mscorsvw.exe служит для оптимизации библиотек .NET Framework и приложений, написанных с его использованием. Более детально (но на английском) об этом можно прочесть в статье разработчиков на сайте Майкрософт.
По умолчанию, NET Runtime Optimization Service выполняется в двух случаях:
- После установки .NET Framework
- После получения обновлений .NET Framework
Обычно процесс запускается при простое компьютера, вызывая при этом высокую нагрузку на процессор, что в целом нормально для выполняемых задач.
Действия при высокой нагрузке на систему
Если высокая нагрузка со стороны mscorsvw.exe не является постоянной проблемой, достаточно однократно дождаться, когда .NET Runtime Optimization Service выполнит все задачи, обычно это происходит в течение нескольких минут. Снимать задачу в диспетчере задач не следует, кроме случаев крайней необходимости, когда требуется прямо сейчас прекратить высокую нагрузку на CPU.
Майкрософт на официальном сайте предлагает дополнительные возможности, позволяющие сократить время, необходимое для выполнения задач NET Optimization Service:
- Запустить командную строку от имени администратора и по порядку использовать команды
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 ngen.exe executequeueditems schTasks /run /Tn "Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319"
- В x64 версиях Windows дополнительно использовать ещё две команды
cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319 ngen.exe executequeueditems schTasks /run /Tn "Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319 64"
- Использовать один из официальных скриптов со страницы GitHub.
Теоретически, но очень маловероятно, процесс mscorsvw.exe может оказаться вредоносным файлом. При таких подозрениях вы можете открыть расположение файла с помощью контекстного меню в диспетчере задач, а затем проверить этот исполняемый файл на VirusTotal.
Все способы:
- Способ 1: Ускорение процесса оптимизации
- Способ 2: Отключение службы
- Способ 3: Проверка ПК на вирусы
- Вопросы и ответы: 0
Процесс .NET Runtime Optimization Service, который также называется mscorsvw.exe, может требовать ощутимое количество ресурсов по причине проведения процесса оптимизации. Это случается после обновления компонентов операционной системы, связанных с .NET Framework, и требует некоторого времени. В зависимости от компьютера эта процедура может занимать разное время, поэтому лучшее, что вы можете сделать, это просто подождать, пока все системные процессы, ответственные за обновление, завершат свою деятельность. Однако время ожидания можно и сократить, а при необходимости — остановить службу.
Способ 1: Ускорение процесса оптимизации
Изначально служба, выполняющая оптимизацию, задействует только часть доступных ресурсов ПК, однако при помощи консольных команд ее можно ускорить. В результате этого вам, скорее всего, все равно, придется подождать некоторое время, дав возможность операционной системе закончить начатую задачу, однако продолжительность этого ожидания заметно сократится.
- Запустите «Командную строку» с правами администратора любым удобным способом, например найдя это приложение в «Пуске» или кликнув по его кнопке ПКМ и выбрав из меню быстрых ссылок соответствующий пункт.
- Скопируйте и вставьте следующие две команды, нажимая для ввода Enter:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe executeQueuedItems
schTasks /run /Tn "\Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319"Обладателям ОС 32-разрядной версии (только Windows 10 и
необходимо ввести только первую команду.
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe executeQueuedItems
schTasks /run /Tn "\Microsoft\Windows\.NET Framework\.NET Framework NGEN v4.0.30319 64"Если вы все еще пользуетесь Windows 7, команды будут другими:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe executeQueuedItems
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe executeQueuedItems
Здесь действует упомянутое выше правило: для 32-битной «семерки» нужна только первая команда, для 64-битной — обе.
На очень старых компьютерах, возможно, Framework 4-ой версии (для которой и даны все команды выше) вообще не установлен. Узнать, так ли это, можно очень просто: откройте «Проводник», вставьте в его адресную строку путь %windir%\Microsoft.NET\Framework\
и нажмите Enter.
Посмотрите, есть ли среди версий папка «v4.0.30319».
Если нет, вместо указанных выше используйте следующие команды (только первая — для 32-битных ОС, обе — для 64-битных):
C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe executeQueuedItems
C:\Windows\Microsoft.NET\Framework64\v2.0.50727\ngen.exe executeQueuedItems
Способ 2: Отключение службы
Если спустя время процесс продолжает грузить ПК, но у вас нет времени ждать завершения или складывается ощущение, что оптимизация зависла, попробуйте отключить или перезапустить службу.
- Нажмите Win + R и введите команду
services.msc
, после чего подтвердите ввод клавишей Enter. - В открывшемся окне найдите службу под названием «Microsoft .NET Framework NGEN» или «Runtime Optimization Service», после чего выделите ее и перезапустите либо остановите через колонку слева.
Также можно вызвать свойства службы, нажав по ней дважды левой кнопкой мыши, и отключив ее там. Если изменить тип запуска, то возобновляться ее работа не будет. Однако делать этого не рекомендуется — на платформе .NET Framework работают важные приложения, поэтому если и останавливать службу, то только на время — до момента, когда вы закончите все дела и сможете возобновить деятельность службы (может потребоваться перезагрузка ПК), чтобы та снова начала процесс оптимизации.
Способ 3: Проверка ПК на вирусы
Маловероятно, но все же стоит проверить компьютер на наличие вредоносного ПО в ситуации. Когда нагрузка на процессор не прекращается несмотря на то, что вы надолго оставляли компьютер в режиме простоя, дав ему достаточно времени завершить оптимизацию, стоит исключить теорию, что под этот процесс маскируется нежелательный софт. Сделать это следует при помощи антивируса.
Подробнее: Борьба с компьютерными вирусами
Наша группа в TelegramПолезные советы и помощь
Время от времени пользователям приходится сталкиваться с проблемами падения производительности системы, вызываемыми чрезмерным потреблением ресурсов процессора или оперативной памяти некоторыми процессами. Чаще всего виновниками повышенной загрузки становятся system и svchost, но в их числе могут быть и другие процессы: wmiprvse.exe, tiworker.exe и mscorsvw.exe, или NET Runtime Optimization Service как он отображается в разделе Диспетчера задач «Процессы». Об этом последнем процессе мы сегодня как раз и поговорим.
{banner_google1}
Процесс NET Runtime Optimization Service, исполняемый файл которого mscorsvw.exe располагается в каталогах %windir%\Microsoft.NET\Framework64\номер_версии и %windir%\WinSxS, является «частью» компонента Microsoft NET Framework и представляет собой службу оптимизации времени выполнения, в задачи которой входит ускорение запуска зависящих от нее приложений. В плане потребления системных ресурсов процесс NET Runtime Optimization Service скромен, однако в некоторых случаях, в частности, когда выполняемая им процедура оптимизации занимает больше времени, чем необходимо, он может начать грузить процессор. Причиной повышенной загрузки CPU процессом mscorsvw.exe также может быть сбой в работе службы и неполное использование ею ресурсов процессора, что наблюдается на слабых машинах.
Можно, но делать этого без крайней не то нужды не рекомендуется, более оптимальным решением является ее конфигурирование. Рассмотрим этот и другие способы устранения проблемы более подробно.
{banner_google1}
Поскольку NET Runtime Optimization Service по умолчанию использует только одно ядро процессора, службе требуется больше времени на выполнение возложенных на нее задач. Вы можете сократить его, выделив ей больше ядер CPU. Запустите командную строку с правами администратора, перейдите в расположение %windir%\Microsoft.NET\Framework64\v4.0.30319 (\Framework\ в 32-битной версии) и выполните команду:
ngen.exe executequeueditems
Это заставит службу использовать все (до шести) ядра процессора.
Как вариант, для решения проблемы с загрузкой службой оптимизации времени выполнения процессора можете воспользоваться готовым официальным скриптом от Microsoft, скачав его со страницы проекта GitHab. Кликните правой кнопкой мыши по кнопке Raw, выберите в меню «Сохранить ссылку как» и сохраните файл DrainNGenQueue.wsf в любое удобное вам расположение. Запустите скрипт двойным кликом, который будет выполнен в открывшейся командной строке.
{banner_google1}
Если оптимизация сервиса не помогла, можно пойти на более жесткие меры, например, попробовать принудительно отключить службу, правда, в оснастке управления службами Windows 8, 10 и 11 мы так и не нашли ту самую NET Runtime Optimization Service, которая работала бы под процессом mscorsvw.exe. Отвечающий за службу подраздел clr_optimization в реестре есть, но он не содержит параметров ImagePath (путь к исполняемому файлу) и Start (определяет статус службы). Фактически это означает, что в оснастке services.msc такая служба отображаться не будет и работать она также не будет.
А вот в Windows 7 такая служба имеется и называется она Microsoft .NET Framework NGEN. Отключение ее не составляет труда. Если найдете у себя в Windows 8, 10 и 11 эту службу, отключите ее, выбрав для нее тип запуска «Отключена».
В крайнем случае вы можете получить права на файл mscorsvw.exe и переименовать его в mscorsvw.exe.bak, тем самым предотвратив его запуск, но всё же лучше так не делать.
А вот переустановить Microsoft .NET Framework и отключить, по всей видимости, связанную с NET Runtime Optimization Service службу телеметрии NVIDIA так это можно, говорят, некоторым пользователям это помогло.
If you notice that your computer suddenly starts running slow, and you see a process called .NET Runtime Optimization Service (Mscorsvw.exe) in the Task Manager is causing exceptionally high CPU usage on Windows 11 or Windows 10, this guide will explain what it is and how to deal with this process.
Also see: What is Microsoft Edge WebView2 Runtime and How to Uninstall it?
What is .NET Runtime Optimization Service Mscorsvw.exe?
.NET Runtime Optimization Service, also known as mscorsvw.exe, is a key part of Windows. It pre-compiles .NET assembly files to speed up the launch of applications made with .NET framework.
Chances are, you’ve used apps made with .NET Framework without even knowing it. The .NET Runtime Optimization Service works to speed up your Windows so that apps start quicker. Normally, it runs in the background when your PC is idle, and stops once it’s done compiling.
However, if you have many .NET programs or if your PC isn’t very fast, it might take a while for this service to finish its job, leading to high CPU usage in Windows 11/10 during the process.
The service might also show up as several mscorsvw.exe processes at the same time, causing spikes in CPU, RAM, or Disk usage up to 100%.
Why is the .NET Runtime Optimization Service CPU usage so high?
Although ending the service isn’t recommended because it helps your PC, you can stop it temporarily by clicking End Task in Task Manager when selecting the process. This stops it for now, but it will restart when your PC is idle again.
You don’t need to worry about this process too much as it will stop on its own after finishing its tasks. It runs only when a new .NET app is installed on your system or when you install the .NET Framework Redist.
If the .NET Runtime Optimization Service continues running with high CPU usage, the issue might be with the specific program it’s trying to optimize. Rather than stopping the service, try fixing or uninstalling the problematic program first.
If you’re still bothered by how much CPU it uses, or if you want to completely stop the service, keep reading.
Speed up the .NET Runtime Optimization Service
Before you think about disabling the service, consider speeding it up to finish its tasks quicker. Normally, the .NET Runtime Optimization Service uses only one CPU core. To speed it up, right-click on the process in the Details tab in Task Manager, choose Set Affinity, then make sure all CPU cores are checked. Right-click the process again and choose Set Priority, then select High.
After this change, the .NET Runtime Optimization Service might still cause a temporary spike in CPU usage up to 100%, but it will complete its tasks faster and then stop automatically.
How to stop the problem service?
We don’t suggest disabling the service, but if you choose to, here’s how you can do it:
- Press Win+R on your keyboard to open the Run window.
- Type services.msc and press Enter.
- Double-click on the service named Microsoft .NET Framework NGEN.
- Select Disabled from the Startup type dropdown menu.
- 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 can’t access the Services panel or simply prefer another method, you can disable the service via Registry Editor. But, please use this method only if you know what you’re doing. Making any mistakes in the registry can cause very serious and catastrophic issues. It’s always a good idea to create a system restore point first before making any changes in the registry so you can go back if things go south.
Press Win+R, type regedit to open Registry Editor, and navigate to the following folder. If you see multiple clr_optimization folders, choose the latest version number.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\clr_optimization_(version number)
Double-click on the Start registry. In the value data field, enter 4 (to disable the service). This value represents the startup type for the .NET Runtime Optimization Service. Enter 2 for Automatic, 3 for Manual, and 4 for Disabled.
Once you’re done, close the Registry Editor and restart your computer to check if the high CPU usage issue is resolved.
Update your .NET Framework
Another way to maybe reduce high CPU usage by the .NET Runtime Optimization Service is to keep your .NET Framework updated. Microsoft often rolls out updates that boost both performance and security. To update, you can check Windows Update for any available updates for .NET Framework or download the latest version directly from Microsoft’s official website.
Some final words
The .NET Runtime Optimization Service is an important part of Windows that helps .NET apps start faster. Although it can cause high CPU usage in Windows 11/10, it usually stops when it’s done.
If you’re dealing with ongoing high CPU usage, look into fixing or removing the .NET program causing the problem first. If you really need to stop the service, you can do so temporarily or permanently using Task Manager or Registry Editor, although it’s generally best to let it run since it’s usually doing something beneficial for your PC.
How to Fix .NET Runtime Optimization Service High CPU Usage on Windows 10
It’s a known issue that .NET Runtime Optimization Service can randomly, and also after updating .NET Framework, start utilizing an unreasonable amount of a computer’s CPU processing power. Here, we will discuss this issue and provide proven methods for fixing this issue.
.NET Runtime Optimization Service is a component of the Windows 10 operating system. Its purpose is to optimize .NET Framework, which, in turn, optimizes applications that require .NET Framework to launch and run faster. Its executable is called mscorsvw.exe, but you will typically see it in Task Manager as .NET Runtime Optimization Service.
Under normal conditions, .NET Runtime Optimization Service doesn’t cause high CPU usage. However, if, for some reason, the process takes longer than it should, that might cause this service to utilize more CPU resources than necessary. You may see multiple .NET Runtime Optimization Service (mscorsvw.exe) processes when you open Task Manager.
There are a few likely reasons why .NET Runtime Optimization Service causes high CPU utilization.
- The optimization process runs too slow, taking more than the usual 5-10 minutes to complete its task.
- The service might have been corrupted and needs to be restarted.
- .NET Runtime Optimization Service might have been infected by malware. Alternatively, your PC might have been infected with malware disguised as .NET Runtime Optimization Service.
Before you attempt to tackle the issue of .NET Runtime Optimization Service hogging your CPU’s resources, you should install anti-malware software and scan your computer for threats that may have been disguised as this service.
Video on How to Fix .NET Runtime Optimization Service High CPU Usage
Table of Contents:
- Introduction
- Method 1. Optimize .NET Runtime Optimization Service
- Method 2. Run the Official Script Made By Microsoft
- Video on How to Fix .NET Runtime Optimization Service High CPU Usage
Download Computer Malware Repair Tool
It is recommended to run a free scan with Combo Cleaner — a tool to detect viruses and malware on your device. You will need to purchase the full version to remove infections. Free trial available. Combo Cleaner is owned and operated by Rcs Lt, the parent company of PCRisk.com read more.
Method 1. Optimize .NET Runtime Optimization Service
1. Hold down Windows+R keys to open Run.
2. Type CMD and hold down Shift+Ctrl+Enter keys to open Command prompt with administrative privileges.
3. Type in the cd c:\Windows\Microsoft.NET\Framework64\v4.0.30319 command in the Command prompt and hit Enter.
Note: If you’re running the 32-bit version of Windows type in cd c:\Windows\Microsoft.NET\Framework\v4.0.30319 instead and hit Enter.
4. Then, type in ngen.exe executequeueditems and hit Enter.
[Back to Table of Contents]
Method 2. Run the .NET Runtime Optimization Speed Up Script
1. Go to Microsoft’s GitHub page to download the official script.
2. Right-click the Raw button and select Save link as.
3. Make sure that the Save as type is Windows Script file and click Save to download DrainNGenQueue on your PC.
4. Then, open the script file, and the Command prompt will execute the script and close automatically.
Did this article help you fix .NET Runtime Optimization Service high CPU usage? Let us know by leaving a comment in the discussion section below.
[Back to Top]