Ngen.exe постоянно использует CPU

Недавно я установил Windows 7. Это была чистая установка (то есть не обновление с другой версии Windows), но я установил множество других программ. Все основные приложения – ничего пугающего.

С тех пор использование моего процессора постоянно составляло около 50%.

Диспетчер задач показывает мне, что ngen.exe является виновником. Это не долгосрочная задача: я вижу, что он получает новый PID не реже одного раза в секунду, поэтому я думаю, что что-то постоянно вызывает его.

Он делает это все время, даже если у меня нет приложений.

Кто-нибудь еще видел это? Как узнать, что вызывает это?

    Следуя совету Isxek, я использовал Process Explorer, чтобы узнать, что происходит. Я нашел это:

    Введите описание изображения здесь

    Процессы, заканчивающиеся, выделены красным цветом; Только начинающиеся – зеленые. Это показывает, что ngen.exe постоянно заканчивается и перезапускается. На графике вверху вы видите, что она работает примерно одна секунда каждый раз.

    Как говорит Джим Б, netfxupdate.exe прокладывает себе путь через платформу .NET. Моя работа шла несколько недель, поэтому по какой-то причине похоже, что она застряла на чем-то и не продвинулась вперед.

    Используя regedit, я нашел запись, которая запускает netfxupdate.exe всякий раз, когда я запускаю свой компьютер:

    Введите описание изображения здесь

    Похоже, что он застрял в библиотеках .NET 1.1 по какой-то причине. Я разработчик .NET, а часть моего кода работает на .NET 1.1. Кажется, все работает нормально, поэтому я удалил эту запись из реестра и перезагрузил свою машину.

    Прошло уже пару дней без проблем (даже при разработке против .NET 1.1), поэтому я доволен этим решением.

    NGEN – это собственный генератор кода для инфраструктуры dotnet. Он будет отброшен в качестве фоновой задачи до тех пор, пока не будут созданы нативные сборки

    Файл ngen.exe , по-видимому, входит в состав Microsoft .NET Framework, согласно ProcessLibrary.com . Я искал его на ноутбуке Windows 7, который я использую, но я не мог его найти.

    Вы можете использовать Process Explorer, чтобы определить, является ли это законным файлом от Microsoft. Щелкните правой кнопкой мыши по ngen.exe, когда вы его увидите, выберите «Свойства», затем нажмите кнопку «Проверить». Вы должны увидеть что-то вроде этого (изображение для svchost.exe ):

    Введите описание изображения здесь

    Если он не зарегистрирован как подтвержденный, вы можете попробовать совет, приведенный здесь: Как удалить вредоносные программы-шпионы, вредоносные программы, рекламное ПО, вирусы, трояны или руткиты с моего ПК?

    FYI – NetFxUpdate на моем Windows 2008R2 застрял, а после установки v1.1,% temp% \ netfxupdate.log показывает:

     START: invocation ID = 1; version = v1.1.4322; params = REGWRITE: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce NetFxUpdate_v1.1.4322="C:\Windows\Microsoft.NET\Framework\v1.1.4322\netfxupdate.exe" 0 v1.1.4322 GAC + NI NID REGDELETE: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run NetFxUpdate_v1.1.4322 INVOKE: "C:\Windows\Microsoft.NET\Framework\v1.1.4322\netfxupdate.exe" 2 v1.1.4322 NI NID START: invocation ID = 2; version = v1.1.4322; params = 

    И затем (снова и снова):

     INVOKE: "C:\Windows\Microsoft.NET\Framework\v1.1.4322\ngen.exe" /nologo /silent "C:\Windows\Microsoft.NET\Framework\v1.1.4322\System.dll" RETURN: -1 

    То же самое, что и вы, удалите ключ HKLM … \ Run.

    Я тоже столкнулся с этой проблемой. Но ответ teedyay мне не помог. Решение, которое помогает DID, – «Отключение автоматических обновлений». См. https://superuser.com/a/502049/201171

    Я также столкнулся с проблемой, когда NGEN будет использовать множество ресурсов процессора без видимых причин. Я попытался применить несколько исправлений, найденных на разных форумах, но не повезло.

    THE FIX (что сработало для меня, и не имеет большого смысла, почему это работает): если вы откроете местоположение файла, щелкнув правой кнопкой мыши по процессу ngen, в главном каталоге есть текстовый файл с именем «ngen». Я удалил файл и не видел ngen целую неделю и считал.

    Если кто-то хочет дать это, попробуйте и подтвердите, что «исправить» пойдет на это.

    Давайте будем гением компьютера.