4.3.5 出力形式と出力内容
リソース枯渇監視情報は,出力レコードがCSV形式ファイルで出力されます。
出力形式を次の図に示します。
出力形式について説明します。
-
それぞれのカラムの出力内容がわかるように,タイトル行が,100行ごとに出力されます。
-
タイトルには,リソース共通の情報として,次の項目が出力されます。これらの項目は,図中の,"Title1","Title2","Title3"…の個所に出力されます。
-
Rate:割合(使用率)
-
Current:現在値
-
Max:最大値
-
Threshold:しきい値
このほか,リソースによって,必要な情報が出力されます。詳細は,それぞれのリソースの出力内容を参照してください。
-
-
しきい値判定の計算結果,現在値情報,設定したしきい値の順で出力されます。しきい値判定の結果が複数ある場合は,複数出力されます。
-
しきい値が%で設定されている場合,しきい値の計算結果も%で出力されます。例えば,計算結果が0.752であった場合,しきい値が%で指定されているときには,75.2と出力されます。
-
しきい値が絶対値の場合は,しきい値の計算結果は出力されません。
-
しきい値として上限が設定されていない場合,しきい値の計算結果は,「-」と出力されます。
-
値が小数になる場合は,小数点以下第2位が四捨五入され,小数点以下第1位までが出力されます。なお,しきい値判定にも,小数点以下第2位が四捨五入され,小数点以下第1位までにした値が利用されます。
なお,ファイルに出力される内容については,usrconf.properties,アプリケーションの属性,またはリソースアダプタの属性の設定内容に従います。
それぞれの出力情報について説明します。
- 〈この項の構成〉
(1) メモリ枯渇監視情報
メモリ枯渇監視情報には,次の表に示す情報が出力されます。
出力タイトル文字列 |
出力内容 |
---|---|
Rate1 |
SerialGCが有効な場合: Old領域のメモリ使用率が出力されます。 単位は%です。 Old領域のメモリ使用率は,次の計算式で算出されます。
G1GCが有効な場合: Javaヒープ領域メモリ使用率が出力されます。 単位は%です。 Javaヒープ領域のメモリ使用率は,次の計算式で算出されます。
|
Rate2 |
SerialGCが有効な場合: Old領域最大空きメモリに対するNew領域の合計メモリ率が出力されます。 単位は%です。 Old領域最大空きメモリに対するNew領域の合計メモリ率は,次の計算式で算出されます。
なお,この値は100を超える場合があります。 G1GCが有効な場合: この情報は使用しません。常に-1が出力されます。 |
Rate3 |
Metaspace領域のメモリ使用率が出力されます。 単位は%です。 Metaspace領域のメモリ使用率は,次の計算式で算出されます。
|
Free [New] |
New領域の空きメモリサイズが出力されます。 単位はバイトです。 |
Total [New] |
New領域の合計メモリサイズが出力されます。 単位はバイトです。 |
Max [New] |
SerialGCが有効な場合: New領域の最大メモリサイズが出力されます。 単位はバイトです。 G1GCが有効な場合: この情報は使用しません。常に-1が出力されます。 |
Free [Old] |
Old領域の空きメモリサイズが出力されます。 単位はバイトです。 |
Total [Old] |
Old領域の合計メモリサイズが出力されます。 単位はバイトです。 |
Max [Old] |
SerialGCが有効な場合: Old領域の最大メモリサイズが出力されます。 単位はバイトです。 G1GCが有効な場合: Javaヒープ領域の最大メモリサイズが出力されます。 |
Free [Permanent] |
Metaspace領域の空きメモリサイズが出力されます。 単位はバイトです。 |
Total [Permanent] |
Metaspace領域の合計メモリサイズが出力されます。 単位はバイトです。 |
Max [Permanent] |
Metaspace領域の最大メモリサイズが出力されます。 単位はバイトです。 |
Threshold |
しきい値が出力されます。 単位は%です。 |
- 注意事項
-
-
メモリ枯渇監視機能は,十分にメモリ設計をして,FullGCが起こりにくいようにチューニングされたシステムを前提としています。メモリ枯渇監視機能は,このようにチューニングされたシステムであっても,FullGCが発生してアプリケーションが一時的に停止する予兆を検知することを目的としています。したがって,メモリチューニングが十分でない場合は,不要なアラートが出力されることがありますので,ご注意ください。
メモリ枯渇監視する場合は,Metaspace領域の最大サイズと初期サイズに同じ値を設定する必要があります。具体的にはusrconf.cfgの-XX:MaxMetaspaceSizeと-XX:MetaspaceSizeを同じ値にします。異なる値を設定した場合,Metaspace領域の領域拡張でもアラートが出力される場合があります。そのほかのチューニングパラメタについては,OracleのWebサイトなどの情報を参照してください。
また,この機能で監視しているメモリ使用率が100%に近づいた場合に必ずFullGCが発生するわけではありません。監視した値は,FullGCが発生する可能性が高いという予兆を検知するために使用されます。
-
アプリケーションサーバ 09-00からFullGCが起こりにくいようにJavaヒープを有効活用するようになりました。これによって,Javaヒープの使用率が高いままシステムが稼働し続け,不要なアラートが出力されることがあります。Rate1のアラート出力を抑止したい場合,しきい値を調整してください。Rate2のアラート出力を抑止したい場合,usrconf.propertiesに,ejbserver.watch.memory.rate2alert.enabled=falseを指定してください。
-
- 参考
-
JavaVMでのヒープおよびメモリには,次の3種類の領域があります。
-
New領域
EdenとSurvivorに該当する領域です。新しいオブジェクトが格納されます。
-
Old領域
Tenuredに該当する領域です。長時間存在するオブジェクトが格納されます。
-
Metaspace領域
JavaVMにロードされたクラスが格納される領域です。
アプリケーションサーバ09-70以降,Metaspace領域となりました。
アプリケーションサーバ09-70より前はPermanent領域であったため,旧バージョンからの互換性を重視し,Metaspace領域のメモリサイズを出力するメモリ監視出力の出力タイトル文字列内の表記はPermanentとなっています。
メモリ監視結果情報には,これらの領域ごとに,その時点での空き領域,消費されている領域,および最大領域のサイズが出力されます。
メモリ監視を設定した場合,次の場合にメッセージが出力されます。
-
Old領域の合計サイズに対するOld領域の消費サイズがしきい値以上の場合(SerialGCが有効な場合)
「Old領域消費サイズ/Old領域合計サイズ×100≧しきい値(%)」の場合に出力されます。
-
Old領域の最大空きサイズに対するNew領域の合計サイズがしきい値以上の場合(SerialGCが有効な場合)
「New領域合計サイズ/Old領域最大空きサイズ×100≧しきい値(%)」の場合に出力されます。
-
Javaヒープ領域の合計サイズに対するJavaヒープ領域の消費サイズがしきい値以上の場合(G1GCが有効な場合)
「Javaヒープ領域消費サイズ/Javaヒープ領域合計サイズ×100≧しきい値(%)」の場合に出力されます。
-
Metaspace領域の最大サイズに対するMetaspace領域の消費サイズがしきい値以上の場合
「Metaspace領域消費サイズ/Metaspace領域最大サイズ×100≧しきい値(%)」の場合に出力されます。
-
(2) ファイルディスクリプタ枯渇監視情報
ファイルディスクリプタ監視結果情報には,次の表に示す情報が出力されます。なお,Windows,またはAIXの場合,ファイルディスクリプタの数は監視できません。
出力タイトル文字列 |
出力内容 |
---|---|
Current |
J2EEサーバプロセスが使用しているファイルディスクリプタ数が出力されます。 |
Max |
プロセスに割り当て可能なファイルディスクリプタの数が出力されます。 |
Threshold |
しきい値が出力されます。 |
(3) スレッド枯渇監視情報
スレッド枯渇監視情報には,次の表に示す情報が出力されます。
出力タイトル文字列 |
出力内容 |
---|---|
Current |
自プロセスが使用しているスレッド数が出力されます。 |
Max |
|
Threshold |
しきい値が出力されます。 |
(4) スレッドダンプ枯渇監視情報
スレッドダンプ枯渇監視情報には,次の表に示す情報が出力されます。
出力タイトル文字列 |
出力内容 |
---|---|
Rate |
現在のスレッドダンプのファイル数が,最大値に占める割合が出力されます。 単位は%です。 |
Current |
スレッドダンプのファイル数の現在値が出力されます。 |
Max |
スレッドダンプのファイル数の上限値が出力されます。 |
Threshold |
しきい値が出力されます。 単位は%です。 |
(5) HTTPリクエスト実行待ちキュー枯渇監視情報
HTTPリクエスト実行待ちキューとは,Webアプリケーションの同時実行スレッドに対する,Webアプリケーション単位およびデフォルトの実行待ちキューのことです。
HTTPリクエスト実行待ちキュー枯渇監視情報には,次の表に示す情報が出力されます。なお,この枯渇監視情報には,次の2種類の情報が含まれます。
-
J2EEサーバ単位でデフォルトのリクエスト実行待ちキュー格納数の監視結果
-
Webアプリケーション単位のリクエスト実行待ちキュー格納数の監視結果
出力タイトル文字列 |
出力内容 |
---|---|
J2eeApplicationName |
J2EEアプリケーション名が出力されます。 デフォルトのリクエスト実行待ちキューの監視結果の場合は,"-"が出力されます。 |
ContextRootName |
コンテキストルート名が出力されます。 デフォルトのリクエスト実行待ちキューの監視結果の場合は,"-"が出力されます。 |
Rate |
現在のキュー格納数の最大値に占める割合が出力されます。 単位は%です。 |
Current |
キュー格納数の現在値が出力されます。 |
Max |
Webアプリケーション単位またはデフォルトの実行待ちキューのリクエスト格納数の最大値が出力されます。 |
Threshold |
しきい値が出力されます。 単位は%です。 |
(6) セッション数枯渇監視情報
セッション数枯渇監視情報には,次の表に示す情報が出力されます。
出力タイトル文字列 |
出力内容 |
---|---|
J2eeApplicationName |
J2EEアプリケーション名が出力されます。 |
ContextRootName |
コンテキストルート名が出力されます。 |
Rate |
現在のセッション作成数の最大値に占める割合が出力されます。 単位は%です。 最大値が設定されていない場合は,"-"が出力されます。 |
Current |
セッション数の現在値が出力されます。 |
Max |
セッション数の最大値が出力されます。 設定されていない場合は"-"が出力されます。 |
Threshold |
しきい値が出力されます。 単位は%です。 |
(7) コネクションプール枯渇監視情報
コネクションプール枯渇監視情報には,次の表に示す情報が出力されます。
出力タイトル文字列 |
出力内容 |
---|---|
ResourceName |
ユーザが付けたリソースアダプタ名が次の形式で出力されます。
|
Rate |
コネクションプールの使用率が出力されます。 単位は%です。 コネクション数の最大値が無制限の場合,"-"が出力されます。 |
Active |
使用中のコネクション数が出力されます。 |
Free |
未使用のコネクション数が出力されます。 |
Current |
コネクション数の現在値が出力されます※。 |
Min |
コネクション数の最小値が出力されます。 |
Max |
コネクション数の最大値が出力されます。 コネクションプールが無制限の場合,"-1"が出力されます。 |
Threshold |
しきい値が出力されます。 単位は%です。 |
All |
コネクションの総数(コネクションプール管理内のコネクションとコネクションプール管理外のコネクションの総数)が出力されます※。 |