ヒープメモリメトリクス通知設定
次のJava公式文書へのリンクを参照してください。
アプリケーションプロジェクトのヒープメモリ関連のメトリクスとメトリクス通知設定について案内します。
ヒープメモリメトリクス
ヒープメモリ(HeapMemory)は、Java仮想マシン(JVM)がプログラムを実行するために割り当てたデータ保存領域で、インスタンスや配列などの主要データを保存します。 ヒープエリアは、インスタンスのライフサイクルおよびGCと密接な関係を持ちます。 GCは不要なインスタンスをヒープ領域から解除し、ヒープ領域の空き領域を確保する作業です。
ヒープメモリ関連指標を通じてサーバー別の最大ヒープメモリ、現在のヒープメモリを確認し、状況を監視することができます。 また、最大値と現在値のギャップを把握し、適切にヒープメモリを設定することができます。 ヒープメモリ使用量の最小値が持続的に上昇する場合、メモリリークが疑われる可能性があります。
メトリクス照会
ホーム画面 > プロジェクト選択 > サイトマップ > 分析 > メトリクス照会
メトリクス照会メニューで確認できるヒープメモリ関連指標を案内します。
Heap Memory
app_proc_counter
カテゴリーの選択後、確認できます。
-
Heapコミット
heap_committed
JVMが使用できるようにコミットされたヒープメモリを意味します。
-
初期Heap
heap_init
JVMがメモリ管理のためにOSにリクエストした最初のヒープメモリを意味します。
-
Heap最大サイズ
heap_max
JVMがメモリ管理に使用できる最大ヒープメモリを意味します。
-
Heap使用量
heap_used
JVMで使用中のヒープメモリを意味します。
-
Heap総使用量
heap_use
JVMが割り当てられたヒープメモリの総量を意味します。
Non-heap Memory
java_memory
カテゴリーの選択後、確認できます。
-
Heapコミット
nonheap_committed
JVMがメモリ管理のためにOSにリクエストした最初の非ヒープメモリを意味します。
-
最初Non-heap
nonheap_init
JVMがメモリ管理のためにOSにリクエストした最初の非ヒープメモリを意味します。
-
Non-heap総使用量
nonheap_max
JVMでメモリ管理に使用できる最大の非ヒープメモリ使用量を意味します。
ノートMetaspace及びJITコードキャッシュ最大メモリサイズが定義されていない場合は
-1
を返します。 -
Non-heap使用量
nonheap_used
JVMで使用された非ヒープメモリを意味します。
メトリクスチャート
ホーム画面 > プロジェクト選択 > 分析 > メトリクスチャート
メトリクスチャートメニューで確認できるヒープメモリー関連指標を案内します。
-
Heap最大サイズ
heap_max
JVMがメモリ管理に使用できる最大ヒープメモリを意味します。
-
Heap総使用量
heap_use
JVMが割り当てられたヒープメモリの総量を意味します。
-
Heap使用量
heap_use
JVMで使用中のヒープメモリを意味します。
-
Heap Perm領域の使用量
heap_perm
Perm領域のメモリ使用量を意味します。
-
Heap Pending Finalizationの数
heap_pending_finalization
待機中のFinalizationを持っているObjectの概算の数を意味します。
アプリケーション指標については次の文書を参照してください。
ヒープメモリメトリクス通知設定
ホーム画面 > プロジェクト選択 > アラート通知 > メトリクスタブ選択
ヒープメモリ関連のアラート通知を使用するには、メトリクスアラート通知を設定する必要があります。 メトリクスアラート通知は、デフォルト通知より細かく精巧な通知設定が可能です。 詳細については、次の文書を参照にしてください。 以下の例では、ヒープメモリ使用量(heap_used
)を基準にメトリクス通知を設定する方法をご案内します。
-
アラート通知下位のイベント設定メニューからメトリクスタブを選択します。
-
画面上段右側から+イベント追加ボタンを選択します。
-
メトリクスイベント画面の領域でイベント名、カテゴリ、レベル、メッセージ、イベント発生条件などを設定してください。
-
イベント名を入力します。
Heap Memory
-
レベルはイベント発生時のアラートレベルを意味します。 レベルを設定します。 基本設定はCriticalレベルです。
-
カテゴリ入力画面でJavaMemory(
java_memory
)を選択してください。 -
イベントメッセージを入力します。 例示メッセージの場合、ヒープメモリ使用量が設定したしきい値を超えたら、該当イベントの発生時刻とともに送信されます。
${heap_used}
が${time}
に${metricThreshold}
を超えました。 -
フィールド、オペレーター、しきい値を入力して、アラート通知条件を設定します。 ヒープ使用量が50,000,000 byte超過時に通知を発生させる通知の例は次のとおりです。
フィールド
heap_used
、オペレーター>
、しきい値50000000
-
-
領域でイベント受信に関する詳細要件を設定し、該当のイベント通知ルールをテストしてみてください。
-
イベント受信設定
-
発生回数は最近
n
の期間中、当該イベントがn'
回発生した場合、通知を送信するようにします。最近
1分
の間、該当イベント3
回発生時に通知が送信されます。 -
イベント発生の一時停止は、当該通知発生後に設定した時間の間に同じ通知が発生しないようにします。
-
-
通知ルールテストオプションでは、選択した期間中に該当のイベント通知設定時、何回のアラート通知が発生したかを確認できます。
過去の
60分
の間、1分
内に続けて3
回以上ヒープメモリ使用量(heap_used
)が50,000,000
byteを超えたイベント発生時に、送信した通知件数は合計66件です。
-
-
メトリクスイベント画面の下段の保存 ボタンをクリックして通知設定を完了してください。
ヒープメモリ使用量確認
ホーム画面 > プロジェクト選択 > 分析 > メトリクスチャート
選択した期間中のヒープメモリ使用量(heap_used
)の詳細を確認したい場合は、メトリクスチャートへ移動してください。
-
上段のタイムピッカーを通じて照会したい期間を指定してください。
-
左側の指標一覧からカテゴリはJavaMemory(
java_memory
)を選択してください。 -
JavaMemoryカテゴリ下位から
heap_used
を選択してください。 チャート領域から、例のようにヒープメモリ使用量チャートを照会することができます。 -
heap_used
ウィジェット上段右側のもっと見るアイコンをクリックし、オプションメニューから詳細アイコンを選択すると、モニタリング対象の指標推移を個別に確認することができます。 -
タグフィルターを選択すると、次のようにエージェント、エージェントグループ、エージェントホストなどを選択して個別チャートを照会することができます。