10

Я недавно установил Windows 7. Это была чистая установка (т.е. не обновление с другой версии Windows), но я установил кучу других программ. Все основные приложения - ничего дурацкого.

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

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

Он делает это все время, даже когда у меня нет запущенных приложений.

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

8 ответов8

7

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

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

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

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

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

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

5

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

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

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

5

NGEN - это собственный генератор кода для платформы dotnet. он будет обрабатываться как фоновая задача, пока не будут созданы нативные сборки

1

К вашему сведению - 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 ...\ Запустить ключ.

0

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

0

Я всегда запускаю эти команды после новой установки и обновления:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe executequeueditems
C:\Windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe executequeueditems

Подождите, пока они закончат, и вы больше не увидите ngen.

0

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

ИСПРАВЛЕНИЕ (это работало для меня и не имеет особого смысла относительно того, почему это работает): если вы открываете местоположение файла, щелкая правой кнопкой мыши по процессу ngen, в главном каталоге появляется текстовый файл с именем "ngen". Я удалил файл и не видел ngen целую неделю и считаю.

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

-1

После удаления раздела реестра ниже \HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft.NETFramework \v2.0.50727 \NGenService \Roots NGen самостоятельно создаст структуру реестра, которая «исправит» проблему

Источник

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .