(0)目次&概説
(1) 記事の目的
(1-1) 目的
(1-2) CPUやディスクの解説について
(2) メモリの監視
(2-1) メモリの主な監視項目
(2-2) メモリのカウンター追加について
(2-2-1) カウンターの選択
(2-2-2) 選択したオブジェクトのインスタンス
(2-3) メモリ系カウンターの計測箇所のイメージ図
(3) 用語説明
(3-1) ページング
(3-2) ページイン・ページアウト
(1) 記事の目的
(1-1) 目的
・パフォーマンスモニタを余り使い慣れていない人向けにディスク(主にMemory)のリソース監視で注目すべきポイントを紹介します。
(1-2) CPUやディスクの解説について
・当記事は「メモリ」関連のカウンターが対象ですが、「CPU」や「ディスク」も別記事(下記リンク)に纏めていますので、よければご参照下さい。
CPU関連の主要カウンター解説 | https://rainbow-engine.com/perfmon-processer-important-counters/ |
メモリ関連の主要カウンター解説 | →当記事 |
ディスク関連の主要カウンター解説 | https://rainbow-engine.com/perfmon-disk-important-counters/ |
(2) メモリの監視
(2-1) メモリの主な監視項目
パフォーマンスモニタにおけるMemory関連の主な監視項目は以下になります。
(表1)
頻出 | カテゴリ | カウンター名 | 説明 | ボトルネック指標 |
★ | Memory | Available MBytes | 利用可能なメモリ容量をMB単位で表示。 | |
★ | Memory | Pages/Sec | ・1秒当たりのページング(物理メモリとディスクの間のデータのロードや退避)の回数を表示します。 ・一般的にページングが多発する場合は物理メモリが不足している可能性があります。 ・物理メモリが足りているのにページングが発生する場合は、一時的に大きなサイズのアロケーションをしている可能性あり。 |
20以内 |
Memory | % Commited Bytes In Use | ・仮想メモリの使用率。 ・(Commited Bytes)/(Commited Limit)を計算した値を%で表示。 |
||
★ | Memory | Commited Bytes | ・仮想メモリの使用量。 ・コミット済みの仮想メモリのサイズをバイト数で表示。 ・このサイズが物理メモリより小さい場合、物理メモリを増設してもボトルネックが解消するとは考えにくい(どちらかというとプログラム側の作りに問題がある可能性がある) |
|
Memory | Commited Limit | ・仮想メモリの容量。 ・ページングファイルを拡張せずにコミットできる仮想メモリのサイズをバイト数で表示。ページングファイルが拡張されれば、それに伴ってこの値も増加する。 |
||
Process | Working Set | ・プロセス(アプリケーション)が利用するメモリサイズのうち、物理メモリ上で確保されているサイズを表します。 ・もしこの値が増減する場合はページングが発生している疑いがあり、物理メモリが不足している可能性があります。 |
||
Process | Pages File Bytes | プロセスが仮想メモリの使用のためにページングファイルにて予約しているサイズをバイトで表示します。 例えばスケール「0.00000001」で値が「25」の場合は、100,000,000×25=2,500,000,000バイト≒2.328GBとなります。 |
||
Paging File | % Usage | 仮想メモリの使用量を%で表示。 |
(2-2) メモリのカウンター追加について
(2-2-1) カウンターの選択
メモリの使用量のみならず、ページングやページフォルトのメモリ利用効率も併せて監視していく事が重要です。そのためには「Memory」カウンターのみならず、プロセス(.exe)に関する「Process」カウンターやページングファイル(仮想メモリ利用のためディスクに作るファイル)に関する「Paging File」カウンターを見ていく必要があります。
(2-2-2) 選択したオブジェクトのインスタンス
Memory系のカウンターはカウンター追加時にインスタンスの選択は特にありません。
Process系のカウンターはプロセス単位で計測対象に指定する事ができ、選択肢には起動中のプロセスの一覧が表示されます。「_Total」で全プロセスの合計も取得できます。「<全てのインスタンス>」を選択すると自身以外の全て(「_Total」と全個別プロセス)を追加します。
(図222)Process系カウンタはプロセス単位に計測可能
⇒起動中のプロセスの数だけカウンターの選択肢がある
(2-3) メモリ系カウンターの計測箇所のイメージ図
(2-1)の(表1)に挙げた項目について、具体的にどの箇所を計測しているのか?のざっくりしたイメージが掴める図を以下に示します。
(図231)
(3) メモリ・ディスクの主な用語について
(3-1) ページング
ディスクの一部をメモリとして利用する際に、ディスク上に作成されるファイルを「ページングファイル」とも呼びます。
PCは物理メモリが不足した場合に、使用していないデータを仮想メモリに一時的に退避することで、動作が重くなるのを防いでいます。このようなデータの退避や再度物理メモリに移動する往復を「ページング」と呼びます。
(3-2) ページイン・ページアウト
ページアウト(≒スワップアウト)とは、物理メモリにあるデータを仮想メモリに退避して、該当する物理メモリを解放する処理の事である。
ページインは逆に退避したデータに対するアクセス要求があった際に、仮想メモリに退避したデータを、物理メモリ上に確保した領域に戻す事を言います。