本文へスキップ

ヒープメモリメトリクス通知設定

アプリケーションプロジェクトのヒープメモリ関連のメトリクスとメトリクス通知設定について案内します。

ヒープメモリメトリクス

ヒープメモリ(HeapMemory)は、Java仮想マシン(JVM)がプログラムを実行するために割り当てたデータ保存スペースで、インスタンスや配列などの主要データを保存します。 ヒープエリアは、インスタンスのライフサイクルおよびGCと密接な関係を持ちます。 GCは不要なインスタンスをヒープ領域から解除し、ヒープ領域の空きスペースを確保する作業です。

ヒープメモリーウィジェット

ヒープメモリ関連指標を通じてサーバー別の最大ヒープメモリ、現在のヒープメモリを確認し、状況を監視することができます。 また、最大値と現在値のギャップを把握し、適切にヒープメモリを設定することができます。 ヒープメモリ使用量の最小値が持続的に上昇する場合、メモリリーク現象が疑われる可能性があります。

メトリックス参照

ホーム画面 > プロジェクト選択 > サイトマップ > 分析 > メトリック表示

メトリクス照会メニューで確認できるヒープメモリ関連指標を案内します。

Heap Memory

  • Heapコミットheap_committed

    JVMが使用できるようにコミットされたヒープメモリを意味します。

  • 最初Heapheap_init

    JVMがメモリ管理のためにOSにリクエストした最初のヒープメモリを意味します。

  • Heap最大使用量heap_max

    JVMがメモリ管理に使用できる最大ヒープメモリを意味します。

  • Heap使用量heap_used

    JVMで使用されたヒープメモリを意味します。

Non-heap Memory

  • Heapコミットnonheap_committed

    JVMがメモリ管理のためにOSにリクエストした最初の非ヒープメモリを意味します。

  • 最初Non-heapnonheap_init

    JVMがメモリ管理のためにOSにリクエストした最初の非ヒープメモリを意味します。

  • Non-heap最大使用量nonheap_max

    JVMがメモリ管理に使用できる最大非ヒープメモリを意味します。

  • Non-heap使用量nonheap_used

    JVMで使用された非ヒープメモリを意味します。

メトリクスチャート

ホーム画面 > プロジェクト選択 > 分析 > メトリクスチャート

メトリクスチャートメニューで確認できるヒープメモリー関連指標を案内します。

  • Heapサイズheap_tot

    JVMの総メモリを意味します。

  • Heap使用量heap_use

    JVMで使用中のヒープメモリを意味します。

  • Heap最大使用量heap_max

    JVMが割り当てられる最大メモリを意味します。

  • Heap Perm領域使用量heap_perm

    Perm領域のメモリ使用量を意味します。

  • Heap Pending Finalizationの数heap_pending_finalization

    待機中のFinalizationを持っているObjectの概算の数を意味します。

ノート

アプリケーション指標については次の文書を参照してください。

ヒープメモリメトリクス通知設定

ホーム画面 > プロジェクト選択 > アラート通知 > メトリクスタブ選択

ヒープメモリ関連のアラート通知を使用するには、メトリクスアラート通知を設定する必要があります。 メトリクスアラート通知は、デフォルト通知より細かく精巧な通知設定が可能です。 詳細については、次の文書を参照してください。 以下の例では、ヒープメモリ使用量(heap_used)を基準にメトリクス通知を設定する方法をご案内します。

ヒープメモリメトリクス通知設定1

  1. アラート通知下位のイベント設定メニューからメトリクスタブを選択してください。

  2. 画面上段右側から+イベント追加ボタンを選択してください。

  3. メトリクスイベント画面の指示線1領域でイベント名カテゴリレベルメッセージイベント発生条件などを設定してください。

    • イベント名を入力してください。

      Heap Memory

    • レベルはイベント発生時のアラートレベルを意味します。 レベルを設定してください。 基本設定はCriticalレベルです。

    • カテゴリ入力画面でJavaMemory(java_memory)を選択してください。

    • イベントメッセージを入力してください。 例示メッセージの場合、ヒープメモリ使用量が設定したしきい値を超えたら、該当イベントの発生時刻とともに送信されます。

      ${heap_used}${time}${metricThreshold}を超えました。

    • フィールド、オペレーター、しきい値を入力して、イベント発生条件を設定してください。 ヒープ使用量が50,000,000 byte超過時に通知を発生させる通知の例は次のとおりです。

      フィールドheap_used、オペレーター>、しきい値50000000

  4. 指示線2領域で指示線aイベント受信に関する詳細要件を設定し、該当のイベント通知ルールを指示線bテストしてみてください。

    ヒープメモリメトリクス通知設定2

    • 指示線aイベント受信設定

      • 発生回数は最近nの期間中、当該イベントが n'回発生した場合、通知を送信するようにします。

        最近1分の間、該当イベント3回発生時に通知が送信されます。

      • イベント発生の一時停止は、当該通知発生後に設定した時間の間に同じ通知が発生しないようにします。

    • 指示線b通知ルールテストオプションでは、選択した期間中に該当のイベント通知設定時、何回のアラート通知が発生したかを確認できます。

      過去の60分の間、1分内に続けて3回以上ヒープメモリ使用量(heap_used)が 50,000,000byteを超えたイベント発生時に、送信した通知件数は合計66件です。

  5. メトリクスイベント画面の下段の指示線3保存 ボタンをクリックして通知設定を完了してください。

ヒープメモリ使用量確認

ホーム画面 > プロジェクト選択 > 分析 > メトリクスチャート

選択した期間中のヒープメモリ使用量(heap_used)の詳細を確認したい場合は、メトリクスチャートへ移動してください。

メトリックスチャート

  1. 上段の指示線1タイムピッカーを通じて照会したい期間を指定してください。

  2. 左側の指標一覧から指示線2カテゴリJavaMemory(java_memory)を選択してください。

  3. 指示線3JavaMemoryカテゴリ下位からheap_usedを選択してください。 チャート領域から、例のようにヒープメモリ使用量チャートを照会することができます。

  4. heap_usedウィジェット上段右側のもっと見るアイコンをクリックし、オプションメニューから詳細アイコンを選択すると、モニタリング対象の指標推移を個別に確認することができます。

    メトリクスチャート詳細 1

  5. タグフィルターを選択すると、次のようにエージェント、エージェントグループ、エージェントホストなどを選択して個別チャートを照会することができます。

    メトリクスチャート詳細 2