ここから本文です

Windows Updateの“更新遅い”問題を改善したい!――Windows Server 2016の場合

4/16(火) 11:40配信

@IT

その他の影響(2) - .NETネイティブイメージの再コンパイル処理

 Windows Updateのタイミングで起動し、更新が完了するとシャットダウンするような物理/仮想マシンの場合、次にWindows Updateのために起動した際、前回の.NET Frameworkの更新を理由としたNET Frameworkのネイティブイメージの再コンパイル処理と、新しいWindows Updateの処理が重なり、Windows Updateの失敗や遅延の原因になることがあります。

 Windows Updateのために再起動した後、「タスクマネージャー」などで「ngen.exe」(Microsoft Common Language Runtime native compiler)とともに、長時間にわたり、次々に生成されては消えていく大量の「mscorsvw.exe」(.NET Runtime Optimization Service)のプロセスを目にしたことはないでしょうか。そのプロセスが再コンパイル処理のためのものです。

 Windows 10、Windows Server 2019、およびWindows Server, version 1809からは、.NET Frameworkの累積更新プログラムが、Windowsの累積更新プログラムから分離されました(Windows 8.1以前やWindows Server 2012 R2以前はもともと別の累積更新プログラム)。それ以外のWindows 10、Windows Server 2016、Windows Server, version 1803以前は、Windowsの累積更新プログラムに.NET Frameworkの更新が含まれています。

 以下の公式ブログで説明されているように、.NET Frameworkが更新されるとネイティブイメージが無効になり、再コンパイルする必要が生じます。再コンパイルはシステムのアイドル時に自動実行されるようにスケジュールされますが、起動時間が少ない物理/仮想マシンの場合、いつまでもたっても処理されない状態になるかもしれません。

・.NET Frameworkのネイティブイメージが無効になる状況と考えられる影響について(Microsoft Japan Visual Studio Support Team Blog)

 コマンドプロンプトで次のコマンドラインを実行すると、再コンパイル処理を手動で開始し、完了させることができます。既に終了している場合は、これらのコマンドラインは「All compilation targets are up to date.」と表示してすぐに終了します。次のWindows Updateを実施する前に、念のため実行しておくとよいでしょう。

C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe executeQueuedItems

C:\Windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe update

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe executeQueuedItems

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ngen.exe update

4/5ページ

最終更新:4/16(火) 11:40
@IT

こんな記事も読まれています

あなたにおすすめの記事