3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

(WindowsXP)Windowsの自動更新でメモリが大量に消費されるときの対処法

結構よく聞く現象です。

デフォルトの設定であればWindows起動後にWindowsUpdate関連のサービスが起動し、更新プログラムが無いかチェックされます。

ところが、この更新プログラムチェックの段階で大量のメモリを消費してしまい、物理メモリが少ないPCだと非常にレスポンスが遅くなることがあります。

この時メモリをばか食いするプロセスが svchost.exe と wuauclt.exe になります。この二つのプロセスでメモリ消費が多い場合は今回取り上げる更新プログラムチェック問題の可能性が高そうですね。(メモリばかりでなくCPUがしばらく100%になってしまうということもあるようです。)

WindowsUpdateのサービスは過去のパッチの履歴やキャッシュを持ってるそうなんですが、そのデータが内部で不整合になったりすると上記のような現象がおこりだすようです。

対応策はパッチの履歴やキャッシュを一旦消すことです。

具体的には、「Automatic Updates」(自動更新って場合もある)サービスを一旦停止し、%systemroot%\SoftwareDistribution\DataStore 内の全ての内容を削除し、サービスを再開するというものです。

これを行うと劇的にレスポンスが早くなりました。(しかし、残念なことにこれをしても次回再起動時にまた元に戻ってしまう端末もいくつかありました。)

参考:

wuauclt.exe のメモリ削減

マイクロソフトサポート

《高速化》WindowsXPが重く不安定なのでwuaucltを調整する