ngen.exe постійно використовує процесор


10

Я нещодавно встановив Windows 7. Це була чиста установка (тобто не оновлення до іншої версії Windows), але я встановив купу інших програм. Всі основні програми - нічого не прискіпливого.

З тих пір моє використання процесора постійно становило близько 50%.

Диспетчер завдань показує мені, що винуватцем є ngen.exe. Це не тривале завдання: я бачу, що він отримує новий PID хоча б раз на секунду, тому я здогадуюсь, що щось постійно викликає це.

Це робиться постійно, навіть коли у мене не запущені додатки.

Хтось ще бачив це? Як дізнатися, що це спричиняє?

Відповіді:


7

Дотримуючись порад Isxek, я скористався процесором Explorer, щоб побачити, що відбувається. Я знайшов це:

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

Процеси, які закінчуються, виділяються червоним кольором; ті, що тільки починаються, зелені. Це показує, що ngen.exe постійно закінчується і перезапускається. З графіка вгорі ви бачите, що вона працює приблизно одну секунду кожного разу.

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

Використовуючи regedit, я знайшов запис, який запускає netfxupdate.exe, коли я запускаю комп'ютер:

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

Схоже, він чомусь застряг у бібліотеках .NET 1.1. Я розробник .NET, і частина мого коду працює на .NET 1.1. Це, здається, працює нормально, тому я видалив цей запис із реєстру та перезавантажив свою машину.

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


5

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


4
Зараз йде вже пару тижнів - вісім годин на день, п’ять днів на тиждень. Звичайно, це не нормально?
teedyay

5

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

Ви можете використовувати Process Explorer, щоб визначити, чи це законний файл від Microsoft. Клацніть правою кнопкою миші на ngen.exe там, коли побачите її, виберіть Властивості, а потім натисніть кнопку Підтвердити. Ви повинні побачити щось подібне (зображення для svchost.exe):

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

Якщо він не реєструється як перевірений, ви можете спробувати поради, наведені тут: Як я можу видалити з мого ПК шкідливе шпигунське програмне забезпечення, рекламне програмне забезпечення, віруси, трояни чи руткіти?


1

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.



0

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

ФІКС (що працювало для мене, і це не має особливого сенсу, чому це працює): якщо ви відкриєте розташування файлу, клацнувши правою кнопкою миші на процес ngen, у головному каталозі є текстовий файл під назвою "ngen". Я видалив файл і не бачив ngen цілий тиждень і рахував.

Якщо хтось хоче спробувати це, спробуйте підтвердити "виправлення".


0

Я завжди запускаю ці команди після нової установки та щойно оновленого:

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

Зачекайте, коли вони закінчаться, і ви більше не побачите ngen.


-1

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

Джерело

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.