自動更新などでWindowsのCPU負荷が100%になる不具合を修正するTech TIPS

突然CPUの負荷が上がり、システムが非常に重くなったり、操作できなくなったりすることがある。この場合svchost.exeプロセスのCPU使用率が100%になっている。これは自動更新などでシステムをスキャンする際に発生するトラブルだ。解決するには、KB927891の修正モジュールとWUA 3.0をインストールする。

» 2007年06月08日 05時00分 公開
[打越浩幸デジタルアドバンテージ]
Tech TIPS
Windows Server Insider


「Tech TIPS」のインデックス

連載目次

対象OS:Windows 2000/Windows XP/Windows Server 2003



解説

 最近Windows OSの使用中(特に起動時)に、何も操作していないのに、CPUの負荷が急に高くなり、システムが重くなったり、応答しなくなってしばらく使えなくなるという症状がよく報告されている(CPUの使用率上昇に伴い、冷却用のファンが最大速度で回り出すので気付くことも多い)。このときにタスク・マネージャで確認すると、svchost.exeというプロセスがCPUを100%占有しているのが確認される。svchost.exeは、サービスを起動するための基本となるプロセスであり、通常は数個起動している(詳細はTIPS「svchost.exeプロセスとは?」参照)。このため、何かシステムに重大な不具合が生じているのではないか、ウイルスなどに感染しているのではないかと心配するユーザーも少なくない。

 だがこれは、自動更新やWindows Update/Microsoft Updateなどによって、(特にOffice関連の)パッチを適用するために、(Windows Installerが)システムをスキャンしているときに起こる症状である(半年ほど前から発生している)。そのため、新しく月例のセキュリティ・パッチが公開された時期に発生することが多い。ただしすべてのシステムで発生するわけではないし(だが発生するコンピュータの数は徐々に増えている)、1度パッチを適用してしまえばこの状態は解消されることが多い。

 この症状については、マイクロソフトから以下のサポート技術情報や、WSUS(Windows Server Update Services)チームのブログなどで症状と解決方法が公開されている。

 この症状は、自動更新サービスで起動されるMSI(Windows Installer)がシステムをスキャンする際に、CPUを占有してしまうことによって発生する。そしてこれを解決するためには、以下のサポート技術情報で提供されるパッケージと、WSUS 3.0で提供される新しいクライアント側のモジュールWUA 3.0(Windows Update Agent 3.0)をインストールすれば解決するとされている。本TIPSではこの方法について解説する。

■2007/06/08追記

当初公開した記事で紹介した上の2つのパッケージは、2007年5月下旬より、自動更新やWindows Update、Microsoft Updateによる配布が開始された。そのため、以下の操作方法は、Windows Updateなどを使った方法に変更している。


操作方法

●手順1――KB927891の修正モジュールをインストールする

 この修正プログラムは現在、自動更新やWindows Update、Microsoft Updateなどによって配布されている。そのためユーザーが特に選択操作をしなくても、自動的にインストールされるはずである。

KB927891パッケージのインストール KB927891パッケージのインストール
KB927891は更新プログラムとして自動配布されている。
  (1)これが選択されていることを確認する。

 手動でインストールする場合は、以下の修正モジュールをダウンロードし、インストールする。

●手順2――WUA 3.0をインストールする

 自動更新を利用している場合は、WUA 3.0も自動的にダウンロード、インストールされているはずである(ただしクライアントによりインストールされる時期には、ずれがあるようである)。インストールされているWUAのバージョンは、ファイル%windir%\system32\wuapi.dllで確認できる。このバージョンが7.0.6000.374になっていればWUA 3.0だが、もしそうでない場合は、以下のサポート技術情報を参照して、手動でインストールする。

 このページ中にあるリンク先からWUA 3.0のモジュールをインストールする(WSUS 3.0のパッケージに付属のWUAクライアントを使ってもよい)。

 なおこのモジュールをインストールすると、[管理ツール]の[サービス]で表示される自動更新サービスの名称が[Automatic Updates]から[自動更新]に変更される(ただし自動更新でインストールされていると、名前は変更されずに、そのまま[Automatic Update]となるようである)。

 以上で作業は完了である。これでシステムを再起動すると、今度はシステムのスキャン時にもCPUの使用率が下がり(0%になるわけではない。ユーザーがほかの作業をする場合に、それを妨げない程度に下がる)、ユーザーはほかのタスクを行えるようになっているはずである。

●既存のログ・ファイルを削除する

 以下のBBSの報告などによると、上記の操作後、さらに%windir%フォルダにあるWindows Update.logやWindowsUpdate.logファイルを削除すると、スキャン時の負荷が下がるとの報告がある。

●自動更新機能をオフにする

 上記の対策を適用できない場合は、自動更新そのものを無効にし、必要な場合(月例パッチが公開されたときなど)に、ユーザーが自分自身でWindows UpdateやMicrosoft Update、Office Updateなどを行うという方法がある。自動更新を無効にするには、[マイ コンピュータ]を右クリックし、[プロパティ]メニューで表示される[システムのプロパティ]−[自動更新]タブで、[自動更新を無効にする]を選択する。

■関連リンク


■更新履歴

【2007/06/08】操作方法で解説している2種類の更新プログラムは、2007年5月下旬より、自動更新による配布が開始されたため、内容を反映して加筆修正しました。

【2007/05/18】初版公開。


「Tech TIPS」のインデックス

Tech TIPS

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。