Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 運用/監視/連携編


4.3.5 出力形式と出力内容

リソース枯渇監視情報は,出力レコードがCSV形式ファイルで出力されます。

出力形式を次の図に示します。

図4‒1 リソース枯渇監視情報の出力形式

[図データ]

出力形式について説明します。

なお,ファイルに出力される内容については,usrconf.properties,アプリケーションの属性,またはリソースアダプタの属性の設定内容に従います。

それぞれの出力情報について説明します。

〈この項の構成〉

(1) メモリ枯渇監視情報

メモリ枯渇監視情報には,次の表に示す情報が出力されます。

表4‒6 メモリ枯渇監視情報の出力内容

出力タイトル文字列

出力内容

Rate1

SerialGCが有効な場合:

Old領域のメモリ使用率が出力されます。

単位は%です。

Old領域のメモリ使用率は,次の計算式で算出されます。

  • Old領域のメモリ使用率 = Old領域消費サイズ / Old領域合計サイズ×100

    (Rate1 = (Total [Old] - Free [Old]) / Total [Old]×100)

G1GCが有効な場合:

Javaヒープ領域メモリ使用率が出力されます。

単位は%です。

Javaヒープ領域のメモリ使用率は,次の計算式で算出されます。

  • Javaヒープ領域メモリ使用率[%]

    = Javaヒープ領域消費サイズ/Javaヒープ領域サイズ ×100

Rate2

SerialGCが有効な場合:

Old領域最大空きメモリに対するNew領域の合計メモリ率が出力されます。

単位は%です。

Old領域最大空きメモリに対するNew領域の合計メモリ率は,次の計算式で算出されます。

  • Old領域最大空きメモリに対するNew領域の合計メモリ率 = New領域合計サイズ / Old領域最大空きサイズ×100

    (Rate2 = Total [New] / (Max [Old] - (Total [Old] - Free [Old]))×100)

なお,この値は100を超える場合があります。

G1GCが有効な場合:

この情報は使用しません。常に-1が出力されます。

Rate3

Metaspace領域のメモリ使用率が出力されます。

単位は%です。

Metaspace領域のメモリ使用率は,次の計算式で算出されます。

  • Metaspace領域のメモリ使用率 = Metaspace領域消費サイズ / Metaspace領域最大サイズ×100

    (Rate3 = (Total [Permanent] - Free [Permanent]) / Total [Permanent]×100)

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の場合,ファイルディスクリプタの数は監視できません。

表4‒7 ファイルディスクリプタ枯渇監視情報の出力内容

出力タイトル文字列

出力内容

Current

J2EEサーバプロセスが使用しているファイルディスクリプタ数が出力されます。

Max

プロセスに割り当て可能なファイルディスクリプタの数が出力されます。

Threshold

しきい値が出力されます。

(3) スレッド枯渇監視情報

スレッド枯渇監視情報には,次の表に示す情報が出力されます。

表4‒8 スレッド枯渇監視情報の出力内容

出力タイトル文字列

出力内容

Current

自プロセスが使用しているスレッド数が出力されます。

Max

  • Windowsの場合

    常に"-"が出力されます。

  • UNIXの場合

    プロセスに生成できるスレッド数が出力されます。

Threshold

しきい値が出力されます。

(4) スレッドダンプ枯渇監視情報

スレッドダンプ枯渇監視情報には,次の表に示す情報が出力されます。

表4‒9 スレッドダンプ枯渇監視情報の出力内容

出力タイトル文字列

出力内容

Rate

現在のスレッドダンプのファイル数が,最大値に占める割合が出力されます。

単位は%です。

Current

スレッドダンプのファイル数の現在値が出力されます。

Max

スレッドダンプのファイル数の上限値が出力されます。

Threshold

しきい値が出力されます。

単位は%です。

(5) HTTPリクエスト実行待ちキュー枯渇監視情報

HTTPリクエスト実行待ちキューとは,Webアプリケーションの同時実行スレッドに対する,Webアプリケーション単位およびデフォルトの実行待ちキューのことです。

HTTPリクエスト実行待ちキュー枯渇監視情報には,次の表に示す情報が出力されます。なお,この枯渇監視情報には,次の2種類の情報が含まれます。

表4‒10 HTTPリクエスト実行待ちキュー枯渇監視情報の出力内容

出力タイトル文字列

出力内容

J2eeApplicationName

J2EEアプリケーション名が出力されます。

デフォルトのリクエスト実行待ちキューの監視結果の場合は,"-"が出力されます。

ContextRootName

コンテキストルート名が出力されます。

デフォルトのリクエスト実行待ちキューの監視結果の場合は,"-"が出力されます。

Rate

現在のキュー格納数の最大値に占める割合が出力されます。

単位は%です。

Current

キュー格納数の現在値が出力されます。

Max

Webアプリケーション単位またはデフォルトの実行待ちキューのリクエスト格納数の最大値が出力されます。

Threshold

しきい値が出力されます。

単位は%です。

(6) セッション数枯渇監視情報

セッション数枯渇監視情報には,次の表に示す情報が出力されます。

表4‒11 セッション数枯渇監視情報の出力内容

出力タイトル文字列

出力内容

J2eeApplicationName

J2EEアプリケーション名が出力されます。

ContextRootName

コンテキストルート名が出力されます。

Rate

現在のセッション作成数の最大値に占める割合が出力されます。

単位は%です。

最大値が設定されていない場合は,"-"が出力されます。

Current

セッション数の現在値が出力されます。

Max

セッション数の最大値が出力されます。

設定されていない場合は"-"が出力されます。

Threshold

しきい値が出力されます。

単位は%です。

(7) コネクションプール枯渇監視情報

コネクションプール枯渇監視情報には,次の表に示す情報が出力されます。

表4‒12 コネクションプール枯渇監視情報の出力内容

出力タイトル文字列

出力内容

ResourceName

ユーザが付けたリソースアダプタ名が次の形式で出力されます。

リソースアダプタを直接J2EEサーバにデプロイした場合

<リソースアダプタ名>

リソースアダプタをJ2EEアプリケーションに含めてデプロイした場合

<J2EEアプリケーション名>:<リソースアダプタ名>

リソースアダプタをJ2EEアプリケーションに含めてデプロイして,テストモードで開始した場合

TEST#<J2EEアプリケーション名>:<リソースアダプタ名>

Rate

コネクションプールの使用率が出力されます。

単位は%です。

コネクション数の最大値が無制限の場合,"-"が出力されます。

Active

使用中のコネクション数が出力されます。

Free

未使用のコネクション数が出力されます。

Current

コネクション数の現在値が出力されます

Min

コネクション数の最小値が出力されます。

Max

コネクション数の最大値が出力されます。

コネクションプールが無制限の場合,"-1"が出力されます。

Threshold

しきい値が出力されます。

単位は%です。

All

コネクションの総数(コネクションプール管理内のコネクションとコネクションプール管理外のコネクションの総数)が出力されます

注※ コネクションを接続するタイミングによっては,一時的にAllよりも多い値がCurrentに出力されることがあります。