概要
ReadCache システム モニターで確認できる「キャッシュ利用率」が 100 % まで達し1、 新たにキャッシュを溜められない状況になってしまうことがあります。 この場合、ReadCache のパフォーマンスは低下し、端末の起動が遅くなるなどの影響が出ることがあります。
このドキュメントは、このようなキャッシュ領域の大量消費が発生している場合の調査や対処の手順を解説しています。
詳細
問題の状況
運用されているディスクイメージによっては、ReadCache システム モニターで確認した際に、 「キャッシュ利用率」が 100% になり、さらに「ネットワークアクセス」欄の値が数 GB ~ 数十 GB に なってしまうことがあります。
本来、「キャッシュアクセス」「ネットワークアクセス」を合計しても数 GB 以内に収まっていることが期待されますが、
毎回の読み取りにより「ネットワークアクセス」の値が大きくなると、サーバー、ネットワークに負荷がかかってしまいます。
結果として、端末の起動時間が長くなるなどの運用への影響が生じる可能性があります。
この状態は、キャッシュをいったん消去するなどの暫定的な対処では解決しません。 適切な対処により抜本的な解決をする必要があります。
原因について
キャッシュ領域の大量消費は C ドライブに対する不要な読み取りにより発生し、多くは以下のような要因によって引き起こされます。
- a. Windows に対するネットブート最適化の設定がされておらず、C ドライブに対する不要な読み取りが発生している。
- b. アンチウイルスソフトのスキャンが実行されている (C ドライブがスキャンされている)。
OS (Windows) の初期の状態 (その他のアプリケーションがインストールされていない場合) において、
Windows をネットブート用に適切に設定していれば、端末放置時の C ドライブに対する読み取りは 2 GB を超えることはありません。
(弊社製のネットブート最適化ツール NetbootOptimizer を適用した環境における調査です。)
様々なアプリケーションをインストールすることにより読み取り量に多少の変化はありますが、端末放置時の読み取りが 10 GB を超えるような場合には、何かしら問題 (大量の不要な読み取り) が生じている可能性が高いと考えられますので、 以下の手順で調査、対処を行ってください。
調査
一連の調査の後、運用に戻る前に、最新バージョンで Flush フラグが on になったものが残っていないようご注意ください。
現状の確認
まずはキャッシュ領域の消費の現状を確認してください。
キャッシュをいったん消去した上でキャッシュ書き込みの様子を確認することでキャッシュ領域がどのように消費されているのかを確認するという手順となっています。
-
調査用のバージョンを作成 (CO-Store 利用の場合は「書き換え開始」) する
※ 問題の発生しているディスクを対象としてください。
-
調査用端末を起動し、ReadCache クライアントツールで Flush フラグを on に設定する
※ ReadCache のフラグ設定の詳細は ユーザーマニュアル をご確認ください。
※ 確認のため長時間放置することになるので、端末がスリープに入らないように設定しておいてください。
-
調査用端末をシャットダウンし、調査用バージョンを実稼働モードに昇格 (CO-Store 利用の場合は「新バージョンの作成」) する
-
調査用バージョンに通常の割り当てをした調査用バージョンを起動する
-
調査端末上で ReadCache クライアントツール を起動し、ReadCache カウンター情報を確認する
※ 「概要」タブで「詳細表示」を開き、パターン 3b の行のバイト数を確認してください。
-
3 時間程度放置してキャッシュ書き込み状況を確認する
※ 3 時間必ず放置する必要はなく、1~2 時間程度でキャッシュ書き込みが 10 GB を超えてくるようであれば、 その時点で確認を打ち切っても構いません。(逆に大きく上昇しないようであれば、3 時間は様子を見るようにしてください。)
-
調査用バージョンを削除する
この確認においてキャッシュ書き込みが 10 GB を超えるような場合、不要な読み取りが大量に生じていることが問題の原因と考えられます。 次に述べるネットブート最適化やウイルススキャン設定の見直しなどを行ってください。
一方、この調査で 2 GB 程度しか書き込みされないことが確認されたにも関わらず、キャッシュ領域を使い切っているような場合には、 何らかのアプリケーションの動作によりキャッシュが大量に溜められてしまっている可能性が疑われます。 その場合には、手順 5 における「3 時間放置」の代わりに原因と思われるアプリケーションを動作させてみて、 キャッシュ書き込みの様子を確認してみてください。
ネットブート最適化
現状の確認において、放置しただけで 10 GB 以上キャッシュが溜められるような状況であった場合、 ネットブート最適化を行った上で状況が変化するかどうかを確認してください。
下記の手順でネットブート最適化を行ってください。
-
ネットブート最適化ツール (NetbootOptimizer) を適用する
このツールは、Windows 環境をネットブートに適する構成にするために、各種の設定を実施するためのツールです。
-
CO-Store 関連ツール ダウンロードサイト から NetbootOptimizer を取得する
※ CO-Colors, CO-Store のパッケージ取得用にお知らせしたユーザー名、パスワードでアクセスしてください。
-
イメージを更新状態で起動して、端末上でツールを実行する
-
最適化設定を適用する
※ ツール内の設定項目は複数のカテゴリに分かれていますが、このうち、「Cドライブ読み取り」「AD参加後設定」「ネットブート対応」「その他」の各タブのチェックボックスのすべてをオンにして適用することを、お奨めします。
※「運用最適化」内の項目は、ネットブート環境固有のものではなく、また必須でもありません。それぞれの内容をご覧いただき、必要に応じてご利用ください。
-
-
アンチウイルスソフトの設定を見直す
-
導入されているアンチウイルスソフトの設定やスキャン実行のログなどを確認する
-
通常の運用時に C ドライブのファイルをスキャンするような設定があればオフにする 2
-
- 「現状の確認」の手順でキャッシュ書き込みの様子が変化するかどうかを確認する
変化がなかったか、変化したとしても放置時におけるキャッシュ書き込み (C ドライブからの読み取り) が 10 GB を超えているような状況の場合には、次に述べる手順で調査を行ってください。
調査手順
ネットブート最適化やアンチウイルスソフトの設定以外に原因があると考えられる場合、 原因となるプロセスを特定するために以下の調査を行ってください。
なお、調査の際には必ず調査端末がスリープモードに入らないように設定してください。
-
調査端末のキャッシュをいったん消去する
※ 「現状の確認」と同じ手順です。
-
調査端末を調査用バージョンで通常起動する
※ 書き換え状態ではなく、通常バージョン (実稼働モード) の状態で起動することにご注意ください。
-
調査端末上で リソースモニター を起動し、ディスク I/O を確認する
※ ディスク タブを開き、C ドライブの読み取りを続けるプロセスにどのようなものがあるかを確認してください。
-
調査端末上で ReadCache クライアントツール を起動し、ReadCache カウンター情報を確認する
※ 「概要」タブで「詳細表示」を開き、パターン 3b の行のバイト数を確認してください。
-
3 時間ほど経過の確認を続ける
※ 変化の大きい場合は 10-30 秒おき、変化が少ない場合でも数分おきには確認してください。
※ ReadCache カウンターの 3b の数値が上昇していく様子と、そのときに C ドライブに アクセスしているプロセスにどのようなものがあるかを確認することが目的です。
-
調査端末をシャットダウンする
-
調査用バージョンを削除する
ReadCache カウンターの 3b の値が上昇しているときに C ドライブからの読み取りを
行っているプロセスが特定できたら、そのプロセスを動かしていたアプリケーションやサービスを止めてみた
上で、「現状の確認」の手順でキャッシュ書き込みの様子が変化するかどうかを確認してください。
(設定後の確認の際にもリソースモニターは起動しておき、実際に止めたはずのプロセスが動作していないことを
確認するようにしてください。中には停止したつもりの設定にしたとしても動作を続けてしまうものがあります。)
以上の調査で原因が特定できなかった場合には、Microsoft の Windows Performance Tools (WPR, WPA) などの ツールを利用するといった調査手段があります。Windows Performance Tools の利用方法などについては、 Microsoft のドキュメント類をご参照ください。