皆さま、こんにちは。
WSUS サポートチームです。
本記事では、最近お問い合わせの増えている「更新プログラムの検出処理時、WSUS クライアントの CPU 使用率が高くなる現象」についてご案内いたします。
本記事は、以下過去記事と関連する内容です。
Windows XP や Windows Server 2003 環境において、Windows Update 実行時に Svchost.exe の CPU 使用率が 100 % となる、時間を大幅に要する
http://blogs.technet.com/b/jpwsus/archive/2013/10/18/windows-xp-windows-server-2003-windows-update-svchost-exe-cpu-100.aspx
(事象の概要)
「IE の累積的なセキュリティ更新プログラム」が WSUS サーバー上で承認されていると、WSUS サーバーへの更新プログラムの検出実行時に、WSUS クライアント側の CPU 使用率が高負荷状態となります。
WSUS クライアントは、WSUS サーバーにて承認されている更新プログラムの置き換え関係を過去に遡って参照しますが、このときリリース年数が長いと、評価対象となる情報量も多くなるため、スキャン処理に負荷を要する事象が発生しやすくなります。
更新プログラムの検出処理実行時に、WSUS クライアントの CPU 使用率が上昇すること自体は Windows Update の処理として想定された動作ですが、CPU 使用率 100% に達する状況が数十分以上続くなど、著しい負荷増が確認される場合、本事象に該当している可能性が考えられます。
なお、上述の過去記事でもご案内している通り、弊社では本問題の恒久対処策として、数年前に公開させて頂いた古い「Internet Explorer の累積的なセキュリティ更新プログラム」を期限切れ(公開停止)とする対処を実施させていただきました。
WSUS をご利用いただいている環境でも、既定のオプション設定では、期限切れの更新プログラムは自動的に置き換え参照時の評価対象となくなる「拒否済み」に設定されます。このため、期限切れの古い「Internet Explorer の累積的なセキュリティ更新プログラム」が自動的に「拒否済み」に設定され、本事象を予防出来ます。
しかしながら、WSUS のオプション設定を既定から変更している場合には、期限切れの古い「Internet Explorer の累積的なセキュリティ更新プログラム」が自動的に「拒否済み」に設定されず、置き換え参照時の評価対象となってしまうため、本事象が発生し易くなります。
(発生環境)
以下の環境では、本事象が発生しやすい状況となります。
- WSUS クライアントのマシン スペックが低い環境
- WSUS サーバーにて、リビジョン動作に関連する以下のオプション設定が無効
-----------------------------------
オプション [自動承認] - [詳細]
「更新プログラムの改訂版」:
「承認済み更新プログラムの新しいリビジョンを自動的に承認する」- オフ(既定値 オン)
「新しいリビジョンにより期限切れとなった更新プログラムを自動的に拒否する」- オフ(既定値 オン)
-----------------------------------
(発生要因)
Windows Update による内部的なスキャン処理の実行時には、WSUS にて承認されている更新プログラムの置き換え関係を過去に遡って参照しますが、その置き換え評価対象の更新プログラムの数が、スキャン処理の負荷および時間に影響を及ぼします。
置き換え関係を保有する更新プログラム中、特に注意すべきものは累積型の更新プログラムです。累積型の更新プログラムは、新しいプログラムがリリースされると、過去にリリースされたすべての累積プログラムに対して置き換え関係を保つ必要があります。累積プログラムのリリース数が増えれば増えるほど、置き換え対象となる更新プログラムの数は増えていき、それに伴いスキャン処理の負荷も増大します。
累積型の更新プログラムの中でも、もっともリリース頻度が高いのが「IE の累積的なセキュリティ更新プログラム」です。「IE の累積的なセキュリティ更新プログラム」は、ほぼ月次でリリースされるため、古いバージョンほど、毎回の置き換え対象が多くなり、高負荷の原因となります。
なお、上述の通り、本事象の根本的な要因は、承認されている更新プログラムの置き換え関係を過去に遡って参照された際に、評価対象となる情報量も多くなり、スキャン処理に負荷を要するということです。このため、「IE の累積的なセキュリティ更新プログラム」以外の更新プログラムでも、置き換え関係を多量に保有している更新プログラムでは同様の事象が発生し得ます。
(対処)
--------------------------------------------------------------------------
A. 過去の「IE の累積的なセキュリティ更新プログラム」を WSUS 上で拒否済みに設定
B. 最新の「IE の累積的なセキュリティ更新プログラム」が置き換える更新プログラムを WSUS 上で拒否済みに設定
C. 最新の「IE の累積的なセキュリティ更新プログラム」を問題の発生する端末に手動適用
--------------------------------------------------------------------------
WSUS サーバー側にて「A」および「B」の対処を実施します。
最新の「IE の累積的なセキュリティ更新プログラム」のみを承認し、不要なものを「拒否済み」に設定することで、置き換え参照時の評価対象となる更新プログラムを減らします。
WSUS サーバー側での対処を行えない場合は、「C」の回避策を検討します。
=================================================================
A. 過去の「IE の累積的なセキュリティ更新プログラム」を WSUS 上で拒否済みに設定
=================================================================
最新の「IE の累積的なセキュリティ更新プログラム」は、「累積的」に過去の更新プログラムを包含しているため、最新の更新プログラムのみインストールを行えば過去の更新プログラムによる修正も適用される動作となります。最新のみ承認しておけば、古いものはすべて拒否済みに設定して問題ありません。
下記手順にて、過去の「IE の累積的なセキュリティ更新プログラム」を拒否済みに設定します。
1. WSUS 管理コンソールを起動し、[Update Services] – [<サーバー名>] – [更新] に移動します。
2. メニューバーから [操作] – [検索] の順に選択します。
3. 検索画面が表示されますので、"Internet Explorer" と入力して [検索] をクリックします。
4. 検索結果が表示されますので、拒否に設定する「IE の累積的なセキュリティ更新プログラム」を Shift キーを押下しながら複数一括選択します。
(同時に拒否済みとする件数は、WSUS の負荷状況に応じて調整します。)
5. 選択した当該更新プログラム上で右クリックし、[拒否] を選択します。
6. メッセージが表示されますので [はい] を選択します。
=================================================================
B. 最新の「IE の累積的なセキュリティ更新プログラム」が置き換える更新プログラムを WSUS 上で拒否済みに設定
=================================================================
「A」の対処を実施しても事象が改善されない場合、更に累積的なセキュリティ更新プログラム "以外" の更新プログラムについても拒否済みに設定します。
下記手順にて、最新の「IE の累積的なセキュリティ更新プログラム」が置き換える更新プログラムを確認して拒否済みに設定します。
1. Microsoft Update カタログ サイトに接続します。
Microsoft Update カタログ
http://catalog.update.microsoft.com/v7/site/home.aspx
2. 画面右に表示されているテキストボックスに、最新の「IE の累積的なセキュリティ更新プログラム」の KB 番号を入力して、[検索] をクリックします。
3. 表示された更新プログラムの一覧から、問題が発生している クライアントの OS と IE のバージョンに対応するものをクリックします。
4. 追加で表示された画面から、[パッケージの詳細] タブを表示します。
[この更新プログラムは、次の更新プログラムを置き換えます] に表示されている更新プログラムが、検索した累積的な更新プログラムが置き換えている更新プログラムとなります。
WSUS サーバー上で拒否済みの設定を行う対象となりますので控えておきます。
5. 「A」と同様の手順にて、設定対象の更新プログラムを拒否済みに設定します。
<対処 「A」,「B」 の注意点>
対処 「A」,「B」 を行うと、置き換え参照時の評価対象となる更新プログラムが減るために現象は改善します。しかしながら、長期的に運用を続けるうちに「累積的な更新プログラム」のリリース状況と時間の経過に伴って、現象が再現することは見込まれます。対処「A」,「B」を定期的に実行するか、後述の(事象再発を防ぐための予防策)を検討します。
=================================================================
C. 最新の「IE の累積的なセキュリティ更新プログラム」を問題の発生する端末に手動適用
=================================================================
対処 「A」,「B」 の WSUS サーバー上の設定が困難な場合は、現時点で最新の「IE の累積的なセキュリティ更新プログラム」を問題端末に手動適用することでも回避可能です。
最新の 「IE の累積的なセキュリティ更新プログラム」は、以下よりダウンロード可能です。
Microsoft Update カタログ
http://catalog.update.microsoft.com/v7/site/home.aspx
<対処 「C」 の注意点>
手動適用した最新版以降にリリースされた「IE の累積的なセキュリティ更新プログラム」の承認を行うと、WSUS クライアントは再度スキャン時に置換関係の評価を行うことになるため、比較的短期間での事象の再発が予測されます。
(事象再発を防ぐための予防策)
長期的な対処として、対処「A」,「B」,「C」のいずれかを定期的に実施する方法もございますが、どれも手動での対処が必要となってしまいます。
下記のいずれかの予防策を実施いただくと、今後の事象の再発を予防出来る可能性がございます。長期的な対処を考慮する場合には、下記のいずれかの予防策を実施することをご検討ください。
--------------------------------------------------------------------------
a. WSUS のオプション設定を変更する
b. クリーンアップ ウィザードの「期限切れの更新」を定期的に実行する
--------------------------------------------------------------------------
=================================================================
a. WSUS のオプション設定を変更する
=================================================================
既存の更新プログラムのリビジョン動作に関連する WSUS サーバーのオプション設定は以下となります。
-----------------------------------
オプション [自動承認] - [詳細]
「更新プログラムの改訂版」:
「承認済み更新プログラムの新しいリビジョンを自動的に承認する」- 既定値はオン
「新しいリビジョンにより期限切れとなった更新プログラムを自動的に拒否する」- 既定値はオン
-----------------------------------
本オプションを有効にすれば、古い「Internet Explorer の累積的なセキュリティ更新プログラム」が「期限切れ」として着信すると、対象の更新プログラムは自動的に拒否済みステータスへ変化する動作となります。この場合、管理者による手動作業の必要はありません。
ただし、本オプションを有効にすると、更新プログラムの新しいリビジョンが WSUS に着信した場合、古いリビジョンが承認されていれば、自動的に新しいリビジョンがインストール承認されます。このため、本オプションを有効に設定する場合には、
意図しないタイミングでクライアントに対し、自動的に更新プログラムの新しいリビジョンが配信されてしまう可能性があることを考慮する必要があります。
なお、本オプションを無効にして運用する場合、既存の更新プログラムが「期限切れ」として着信後にも対象の更新プログラムは自動的に拒否済みのステータスにはなりません。そのため、管理者は、期限切れとなった更新プログラムを拒否済みとして手動設定する必要があります。
本オプションによる動作の違いの詳細については以下の記事をご参考ください。
「リビジョン(改訂版)」について
http://blogs.technet.com/b/jpwsus/archive/2011/10/31/3462305.aspx
=================================================================
b. クリーンアップ ウィザードの「期限切れの更新」を定期的に実行する
=================================================================
クリーンアップ ウィザードの「期限切れの更新」を実行することでも、「期限切れ」の古い「Internet Explorer の累積的なセキュリティ更新プログラム」を拒否済みとしていただけます。このため、クリーンアップ ウィザードの「期限切れの更新」を定期的に実行することで、事象を予防することができます。
クリーンアップ ウィザードについては、以下の記事をご参照ください。
更新プログラムのクリーンアップについて
http://blogs.technet.com/b/jpwsus/archive/2010/02/18/3313610.aspx
また、クリーンアップ ウィザードは PowerShell スクリプトから実行することも出来るため、タスク スケジューラーから自動実行させることが可能です。クリーンアップ ウィザードを実行する PowerShell スクリプトは、下記を参考にしてください。
WSUS Clean - Powershell script
https://gallery.technet.microsoft.com/scriptcenter/WSUS-Clean-Powershell-102f8fc6