このエントリーをはてなブックマークに追加

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

このエントリーをはてなブックマークに追加
サービスコントロールマネージャー(services.exe)とは | System プロセス(ntoskrnl.exe)とは

Windows技術情報の一覧に戻る

「トラブルシュート」に関する他の技術情報
技術情報のカテゴリ

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