NET Runtime Optimization Service грузит процессор
Содержание:
Время от времени пользователям приходится сталкиваться с проблемами падения производительности системы, вызываемыми чрезмерным потреблением ресурсов процессора или оперативной памяти некоторыми процессами. Чаще всего виновниками повышенной загрузки становятся system и svchost, но в их числе могут быть и другие процессы: wmiprvse.exe, tiworker.exe и mscorsvw.exe, или NET Runtime Optimization Service как он отображается в разделе Диспетчера задач «Процессы». Об этом последнем процессе мы сегодня как раз и поговорим.
↑ NET Runtime Optimization Service грузит процессор
{banner_google1}
↑ Что такое процесс NET Runtime Optimization Service
Процесс NET Runtime Optimization Service, исполняемый файл которого mscorsvw.exe располагается в каталогах %windir%\Microsoft.NET\Framework64\номер_версии и %windir%\WinSxS, является «частью» компонента Microsoft NET Framework и представляет собой службу оптимизации времени выполнения, в задачи которой входит ускорение запуска зависящих от нее приложений. В плане потребления системных ресурсов процесс NET Runtime Optimization Service скромен, однако в некоторых случаях, в частности, когда выполняемая им процедура оптимизации занимает больше времени, чем необходимо, он может начать грузить процессор. Причиной повышенной загрузки CPU процессом mscorsvw.exe также может быть сбой в работе службы и неполное использование ею ресурсов процессора, что наблюдается на слабых машинах.
↑ Можно ли отключить службу
Можно, но делать этого без крайней не то нужды не рекомендуется, более оптимальным решением является ее конфигурирование. Рассмотрим этот и другие способы устранения проблемы более подробно.
↑ Оптимизация NET Runtime Optimization Service
{banner_google1}
Поскольку NET Runtime Optimization Service по умолчанию использует только одно ядро процессора, службе требуется больше времени на выполнение возложенных на нее задач. Вы можете сократить его, выделив ей больше ядер CPU. Запустите командную строку с правами администратора, перейдите в расположение %windir%\Microsoft.NET\Framework64\v4.0.30319 (\Framework\ в 32-битной версии) и выполните команду:
ngen.exe executequeueditems
Это заставит службу использовать все (до шести) ядра процессора.
↑ Скрипт настройки DrainNGenQueue
Как вариант, для решения проблемы с загрузкой службой оптимизации времени выполнения процессора можете воспользоваться готовым официальным скриптом от 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 так это можно, говорят, некоторым пользователям это помогло.