Windows Update で svchost.exe の CPU 使用率が高くなる理由

対象プロダクト:Windows全般
カテゴリー:トラブルシュート

Windows Update で svchost.exe の CPU 使用率が高くなる理由は、一言で言えば差分ファイルのデルタ圧縮(Binary delta compression(BDC))が要因の1つと考えられます。

Windows Update では更新プログラムをすべてダウンロードするのではなく、現在適用されているモジュールとの差分のみをダウンロードして結合します。

差分ファイルの結合はデルタ圧縮方式となり、BITS サービス(Background Intelligent Transfer Service)が行います。

また BITS はサービス DLL として実装されており、サービスホスト(svchost.exe)をホストとして実行されます。

tasklist /svc コマンドでどの PID の svchost.exe で BITS が実行されているかが分かります。

イメージ名                     PID サービス                                    
========================= ======== ============================================
...            
svchost.exe                    988 Appinfo, AppMgmt, BITS, Browser,            
                                   CertPropSvc, gpsvc, iphlpsvc, LanmanServer, 
                                   ProfSvc, Schedule, SENS, SessionEnv,        
                                   ShellHWDetection, Themes, Winmgmt           


またデルタ圧縮には CPU に負荷がかかります。

そのため、Internet Exploror の累積的な修正プログラムなどの多数の修正モジュールが含まれるコンポーネントのインストール時に、この問題は特に顕著に起こります。

この問題を回避するためには差分アップデート(デルタ圧縮)を行わないことです。

つまり、Windows Update ではなく、フルインストール版の修正プログラムをダウンロードしてインストールする方法になります。
※Microsoft 社も回避方法としてこの方法を案内しています。

公開日時:2014年06月03日 12:48:52

おすすめの書籍!
Windowsに詳しくなりたい方はマイクロソフト公式解説書である「インサイドWindows 第7版」がお勧めです。Windowsのアーキテクチャや内部構造の仕組み、背後で動作するコアコンポーネント等について詳細に解説されています。「Windows Internals, Seventh Edition」の日本語訳版です。

なお、Windows Server VPS選びで迷ったらこちらの記事で主要VPSのメモリ容量ごとの月額、年額料金、リモートデスクトップ(RDS SAL)、Microsoft Office SAL料金を比較していますので、是非参考にしてみてください。

Windows技術情報の一覧に戻る

このページのトップに戻る