ngen.exeは常にCPUを使用しています


10

私は最近Windows 7をインストールしました。これはクリーンインストール(つまり、別のバージョンのWindowsからのアップグレードではありません)でしたが、他の多くのプログラムをインストールしました。すべての主流のアプリケーション-奇抜なものは何もありません。

それ以来、私のCPU使用率は常に約50%です。

タスクマネージャーに、ngen.exeが原因であることが表示されます。これは実行時間の長いタスクではありません。少なくとも1秒に1回は新しいPIDを取得することがわかります。そのため、何かが絶えずそれをトリガーしていると思います。

アプリケーションが実行されていない場合でも、常に実行されます。

他の誰かがこれを見たことがありますか?これを引き起こしている原因を見つけるにはどうすればよいですか?

回答:


7

Isxekのアドバイスに従い、Process Explorerを使用して何が起こっているのかを確認しました。私はこれを見つけました:

ここに画像の説明を入力してください

終了しているプロセスは赤で強調表示されます。始めたばかりのものは緑です。これは、ngen.exeが常に終了し、再起動されていることを示しています。上部のグラフから、毎回約1秒間実行されていることがわかります。

ジムBが言うように、netfxupdate.exeは.NETフレームワークを通じて機能しています。鉱山は数週間続いていたので、何らかの理由で何かに行き詰まり、何も進歩していなかったようです。

regeditを使用して、PCを起動するたびにnetfxupdate.exeを開始するエントリを見つけました。

ここに画像の説明を入力してください

何らかの理由で.NET 1.1ライブラリにスタックしているようです。私は.NET開発者であり、一部のコードは.NET 1.1で実行されます。すべて正常に動作しているようなので、このエントリをレジストリから削除して、マシンを再起動しました。

(.NET 1.1で開発している場合でも)問題なく数日になったので、このソリューションに満足しています。


5

NGENは、ドットネットフレームワークのネイティブコードジェネレーターです。ネイティブアセンブリが生成されるまで、バックグラウンドタスクとして削除されます。


4
それは今数週間続いています-1日8時間、週5日。確かにそれは普通ではないのですか?
teedyay

5

ProcessLibrary.comngen.exeによると、このファイルはMicrosoft .NET Frameworkの一部のようです。使用しているWindows 7ラップトップで検索しましたが、見つかりませんでした。

Process Explorerを使用して、それが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リソースを大量に消費するという問題も経験しました。さまざまなフォーラムで見つかったいくつかの修正を適用しようとしましたが、うまくいきませんでした。

修正(それは私にとってはうまくいき、それがなぜうまくいくのかについてはあまり意味がありません):ngenプロセスを右クリックしてファイルの場所を開くと、メインディレクトリに「ngen」という名前のテキストファイルがあります。私はファイルを削除しましたが、ngenを1週間もカウントしていません。

誰かがこれを試して、「修正」を確認したい場合は、それを試してください。


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.