web-dev-qa-db-ja.com

mscorsvw.exe(.NETランタイム最適化サービス)による異常なCPU使用率

私はServer2008 R2ターミナルサーバーを持っていますが、この3か月間、使用量は非常に少なくなっています(おそらく、1人のユーザーが1時間、1日1回)。

突然、私が理解できない理由もなく、mscorsvw.exe (.NET Runtime Optimisation Service)が1つのプロセッサを100%消費し始め、あらゆる種類のアラームとトリガーがオフになりました。これは反復的なパターンであるため、次にいつ発生するかを判断することは非常に予測可能です。

Processor spikes caused by .net optimiser

誰かがこれを引き起こす可能性があることを知っていますか?私は明らかなことをしました(サーバーを再起動しました)が、それを除けば私はSOLです。

私が考えることができる唯一のことは、今朝WSUSを介して半ダースのWindows Updateを承認したことですが、それらは明日の午前2時までインストールされる予定ではありません(それらのいくつかは.NET 4セキュリティに関連していました)。

サーバーにログオンしている人は誰もいません(私を除く)。ログオンしている場合でも、そこで使用されている.NETアプリはありません。

5
Mark Henderson

mscorsvwは、.NETバイナリをプリコンパイルするプロセスです。更新によってこのアクティビティがトリガーされた可能性があります。少なくとも、それは http://blogs.msdn.com/b/davidnotario/archive/2005/04/27/412838.aspx が起こっていると言っていることです。

Sysinternals procmonユーティリティを実行できれば、正確に何が起こっているのかを知ることができるかもしれません。これにより、mscorsvwがヒットまたはフォーカスしているファイルがわかり、実際に潜在的な.NETファイルにフォーカスしているかどうかを判断するのに役立ちます。

そのウェブサイトから、これが起こっているのであれば、実行しています

ngen.exeexecutequeueditems

これがサーバーで発生しているときのように、CPUがアイドル状態になるのを待つのではなく、すべてを一度に実行することによって「キューをクリア」する必要があります。事前コンパイルが完了すると、発生しなくなります。

8