2.2.2 メモリーの監視例
メモリーを監視することで,物理メモリーの不足を検出したり,プロセスの不正な動作を検出したりできます。
Windowsのメモリーは,物理メモリーとページングファイルから構成されています。Windowsのメモリーの概念について,次の図に示します。
UNIXのメモリーは,物理メモリーとスワップファイルから構成されています。UNIXのメモリーの概念について,次の図に示します。
- 〈この項の構成〉
(1) メモリー監視の概要
一般的に,物理的なRAM上の領域となる,物理メモリーやページングファイル(スワップファイル)のメモリー使用量が不足している場合,システム全体のパフォーマンスの低下を招きます。しかし,メモリー使用量の不足だけが,メモリーによるシステムのボトルネックの要因とは限りません。
プログラムが参照する大量のメモリーのうち,一定時間以上アクセスされない領域は,ページングファイル上に退避され,適切なタイミングで物理メモリーにロードされます。このページングファイル(スワップファイル)のアクセス速度は,物理メモリーのアクセス速度に比べて非常に低速なため,メモリー利用効率が悪くなります。
したがって,発生するページングやページフォルトがシステム処理の大幅な遅延の要因になっている場合もあります。
-
物理メモリーとページングファイル(スワップファイル)との間で発生するコードとデータの移動を示します。ページングファイル(スワップファイル)から物理メモリーへのロードをページイン,物理メモリーからページングファイル(スワップファイル)への退避をページアウトと呼びます。
-
物理メモリーに存在しない領域へアクセスすることを示します。
メモリー使用量に加えて,ページングやページフォルトなどのメモリーの利用効率もあわせて監視することをお勧めします。なお,ページングなどは通常の処理でも発生します。システム安定稼働時のベースラインを測定し,適切なしきい値を決定してください。
メモリーを監視するためのレコードとフィールドについて,次の表に示します。
項番 |
使用する レコード |
使用する フィールド |
値の説明 |
値の見方 |
---|---|---|---|---|
1 |
PI |
Paging Pages/sec |
ページングした操作数(1秒当たり)です。 |
継続してしきい値を超えている場合,ページングの多発によって,メモリーがシステムのボトルネックになっていると考えられます。ただし,一時的にしきい値を超えている場合は,許容範囲になります。 |
2 |
Page Fault Counts/sec |
ページフォルトの発生数(1秒当たり)です。 |
継続してしきい値を超えている場合,ページフォルトの多発によって,メモリーがシステムのボトルネックになっていると考えられます。 |
|
3 |
Total Mem Mbytes |
物理メモリーの容量です。 |
物理メモリーの容量を確認します。 |
|
4 |
Free Mem Mbytes |
物理メモリーの空き容量です。 |
物理メモリーの空き容量を確認します。 |
|
5 |
Used Mem Mbytes |
物理メモリーの使用量です。 |
この値が高い場合,物理メモリーが多く使われている状態だと考えられます。 |
|
6 |
Used Mem % |
物理メモリーの使用率です。 |
この値が高い場合,物理メモリーが多く使われている状態だと考えられます。 |
|
7 |
Total Swap Mbytes |
仮想メモリーの容量です。 |
仮想メモリーの容量を確認します。 |
|
8 |
Free Swap Mbytes |
仮想メモリーの空き容量です。 |
仮想メモリーの空き容量を確認します。 |
|
9 |
Used Swap Mbytes |
仮想メモリーの使用量です。 |
継続してしきい値を超えている場合,さらに多くの物理メモリーが必要だと考えられます。 |
|
10 |
Used Swap % |
仮想メモリーの使用率です。 |
継続してしきい値を超えている場合,ページングファイルの拡張が必要だと考えられます。 |
|
11 |
Effective Free Mem Mbytes※1 |
実質的な物理メモリーの空き容量です。 |
実際にシステムで使用できるメモリーの空き容量を確認します。 |
|
12 |
Effective Used Mem Mbytes※2 |
実質的な物理メモリーの使用量です。 |
この値が高い場合,物理メモリーの実質的な使用量が大きい状態だと考えられます。 |
メモリーは,プログラムの不良が原因で不足する場合もあります。
必要に応じて,不当にメモリーを占有しているプロセスやメモリー使用量が単調増加しているプロセスを特定したり,プロセスごとに切り分けてメモリー使用量を監視したりするなどの対策も実施してください。
プロセスごとにメモリー使用量を監視するには,PFM - Agent for Platformを使用する必要があります。プロセスの監視方法の詳細については,Windowsの場合は,マニュアル「JP1/Performance Management - Agent Option for Platform(Windows(R)用)」を,UNIXの場合は,マニュアル「JP1/Performance Management - Agent Option for Platform(UNIX(R)用)」を参照してください。
(2) メモリー監視に関する監視テンプレートの使用例
メモリー監視に関する監視テンプレートとして,提供しているアラームとレポートの使用例について説明します。
PFM - RM for Platformでは,Available MemoryアラームやMemory Used Status (Multi-Agent)レポートなどを提供しています。メモリーのパフォーマンスをさらに詳細に監視するには,さまざまな観点からメモリーを監視する必要があります。
(a) アラーム
メモリーに関するアラームについて次の表に示します。
項番 |
アラーム |
使用する レコード |
使用する フィールド |
異常 条件 |
警告 条件 |
値の見方 |
---|---|---|---|---|---|---|
1 |
Available Memory |
PI |
Effective Free Mem Mbytes |
< 3 |
< 4 |
実際にアプリケーションが使用できる物理メモリーのサイズが4より小さい場合,警告または異常状態にあると判断します。警告または異常条件で設定されているしきい値より値が小さい場合,物理メモリー不足が考えられます。 メモリーを過度に使用しているプロセスを発見した場合,プロセスの状況を確認し,対策する必要があります。 過度に使用しているプロセスが特にない場合は,メモリーを増設するなどの対策が必要です。 |
2 |
Page Faults |
Page Fault Counts/sec |
>= 5 |
>= 4 |
ページフォルトが1秒当たりに4回以上発生している場合,警告または異常状態にあると判断します。警告または異常条件で設定されているしきい値を超えた場合,メモリー不足が考えられます。 |
|
3 |
Pagescans |
Page Scan Counts/sec |
> 150 |
> 100 |
ページスキャンの1秒当たりの発生数が100を超えている場合,警告または異常状態にあると判断します。警告または異常条件で設定されているしきい値を超えた場合,メモリー不足が考えられます。 |
|
4 |
Swap Outs |
Swapped-Out Pages/sec |
> 200 |
> 100 |
スワップアウト処理によって1秒当たりに取り出されたページが100を超えている場合,警告または異常状態にあると判断します。警告または異常条件で設定されているしきい値を超えた場合,メモリー不足が考えられます。 |
|
5 |
Used Swap Mbytes |
Used Swap Mbytes |
>= 1024※1 |
>= 1024※2 |
仮想メモリーの使用量がTotal Swap Mbytesフィールドの値と同程度の値を超えている場合,警告または異常状態にあると判断します。警告または異常条件で設定されているしきい値を超えた場合,メモリー不足が考えられます。 |
(b) レポート
メモリーに関するレポートについて次の表に示します。
項番 |
レポート名 |
レポートの表示内容 |
---|---|---|
1 |
Memory Used Status (Multi-Agent) |
複数システムの物理メモリーの使用状況を表示します。 |
2 |
Memory Used Status (Multi-Agent) (6.0) |
|
3 |
Memory Used Status |
システムの物理メモリーの使用状況を表示します。 |
4 |
Memory Used Status (6.0) |
|
5 |
Pool Nonpaged Status |
ページアウトできない物理メモリーのサイズを表示します。 |
6 |
Pool Nonpaged Status (6.0) |
|
7 |
System Overview |
システムの稼働状況を表示します。 |
8 |
System Overview (6.0) |