ngen.exe는 지속적으로 CPU를 사용하고 있습니다


10

최근에 Windows 7을 설치했습니다. 이것은 새로 설치 (예 : 다른 Windows 버전에서 업그레이드하지 않음)했지만 다른 프로그램을 많이 설치했습니다. 모든 주류 응용 프로그램-별난 것은 아닙니다.

그 이후로 CPU 사용량은 지속적으로 약 50 %였습니다.

작업 관리자는 ngen.exe가 범인임을 보여줍니다. 오래 걸리는 작업은 아닙니다. 최소한 1 초에 한 번 새로운 PID를 얻는다는 것을 알 수 있습니다. 그래서 무언가가 끊임없이 트리거되고 있다고 생각합니다.

실행중인 응용 프로그램이없는 경우에도 항상 수행합니다.

다른 사람이 이것을 본 적이 있습니까? 무엇이 원인인지 어떻게 알 수 있습니까?

답변:


7

Isxek의 조언에 따라 프로세스 탐색기를 사용하여 진행 상황을 확인했습니다. 나는 이것을 찾았다:

여기에 이미지 설명을 입력하십시오

끝나는 프로세스는 빨간색으로 강조 표시됩니다. 막 시작한 것은 초록색입니다. 이는 ngen.exe가 지속적으로 종료하고 다시 시작되고 있음을 보여줍니다. 상단의 그래프에서 매번 약 1 초 동안 실행되는 것을 볼 수 있습니다.

Jim B가 말했듯이 netfxupdate.exe는 .NET 프레임 워크를 통해 작동합니다. 광산은 몇 주 동안 진행되었으므로 어떤 이유로 든 무언가에 붙어있어 아무런 진전이없는 것처럼 보입니다.

regedit를 사용하여 PC를 시작할 때마다 netfxupdate.exe를 시작하는 항목을 찾았습니다.

여기에 이미지 설명을 입력하십시오

어떤 이유로 .NET 1.1 라이브러리에 붙어있는 것처럼 보입니다. 저는 .NET 개발자이고 일부 코드는 .NET 1.1에서 실행됩니다. 모두 제대로 작동하는 것 같습니다. 레지스트리에서이 항목을 제거하고 컴퓨터를 재부팅했습니다.

.NET 1.1에서 개발할 때조차도 문제가없는 며칠이 지났 으므로이 솔루션에 만족합니다.


5

NGEN은 닷넷 프레임 워크의 기본 코드 생성기입니다. 기본 어셈블리가 생성 될 때까지 백그라운드 작업으로 사라집니다.


4
지금은 하루에 8 시간, 일주일에 5 일, 몇 주 동안 진행되었습니다. 확실하지 않습니까?
teedyay

5

ProcessLibrary.comngen.exe 에 따르면 이 파일 은 Microsoft .NET Framework의 일부인 것으로 보입니다 . 사용중인 Windows 7 랩톱에서 검색했지만 찾을 수 없습니다.

프로세스 탐색기 를 사용 하여 Microsoft의 합법적 인 파일인지 확인할 수 있습니다 . ngen.exe를 마우스 오른쪽 버튼으로 클릭하고 속성을 선택한 다음 확인 버튼을 클릭하십시오. 다음과 같은 모습이 보일 것입니다 (이미지는 svchost.exe) :

여기에 이미지 설명을 입력하십시오

확인 된 것으로 등록되지 않은 경우 여기에 제공된 조언을 시도해 볼 있습니다. 내 PC에서 악성 스파이웨어, 맬웨어, 애드웨어, 바이러스, 트로이 목마 또는 루트킷을 제거하려면 어떻게해야합니까?


1

참고-v1.1을 설치 한 후 Windows 2008R2의 NetFxUpdate가 중단되었습니다. % 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이 명백한 이유없이 많은 CPU 리소스를 차지하는 문제를 경험했습니다. 다양한 포럼에서 발견 된 몇 가지 수정 사항을 적용하려고했지만 운이 없습니다.

FIX (나에게 도움이되었고 왜 효과가 없는지 이해가되지 않습니다) : 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이 자체적으로 문제를 "수정"하는 레지스트리 구조를 빌드합니다.

출처

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.