HeapStats/jp/heapstats.conf

From IcedTea

Jump to: navigation, search

[HOME]

HeapStats agent は "heapstats.conf" の設定に従って動作します。 この設定ファイルを編集することで HeapStats agent の動作を変更することが可能です。

Contents

1 どの設定ファイルが使用されるか

  • tar ball からインストールした場合
    • --sysconfdir オプションで指定したパスにある設定ファイル。
    • デフォルトは "/usr/local/etc/heapstats.conf" です。
  • RPM パッケージからインストールした場合
    • /etc/heapstats/heapstats.conf
  • 実行時に選択した場合
    • 以下の通りにHeapStats agentを実行することで、特定の設定ファイルを選択することが出来ます。
      • -agentlib:heapstats=<config file>
      • -agentpath:<install path>/libheapstats.so=<config file>

2 フォーマット

  • 設定値
    • <config>=<value>
    • 各設定ごとに一行ずつ記述してください。
    • "=" の間に空白を挿入することができます。
  • コメント
    • HeapStats1.0では、"//" で行を開始することでコメントアウトすることができます。
    • HeapStats1.1 以降は "#"で行を開始することでコメントアウトすることができます。

3 設定一覧

設定値デフォルト設定内容reload1.01.12.0
attachtrue true の場合 agent が起動します。それ以外 (false) の場合、agent は起動しません(エージェント無効化)。
fileheapstats_snapshot.datJava ヒープスナップショットのパス/ファイル名を指定します。
heaplogfileheapstats_log.csv平常モード時に出力される、統計データのパス/ファイル名を指定します。
archivefileheapstats_analyze.zip完全モード時に出力される、ログアーカイブファイルのパス/ファイル名を指定します。
loglevelINFO標準出力/標準エラー出力のログレベルを指定します。(CRIT/WARN/INFO/DEBUG)
reduce_snapshottruetrueの場合、agent はその時に使用されていないクラスをダンプしません。それ以外 (false)の場合、ロードされているクラスを全てダンプします。
collect_reftreetruetrue を指定した場合、agent はオブジェクト参照ツリー情報を収集します。
trigger_on_fullgctrueメジャーGC (major garbage collection) 発生時に、agent が クラスヒストグラム を出力するかどうかを指定します。[注記 A]注記 1
trigger_on_dumptrueSIGQUIT のように クラスヒストグラムをダンプするリクエストが送出された時、agent が クラスヒストグラム を出力するかどうかを指定します。注記 1
check_deadlocktruetrue を指定した場合、agent はデッドロックの発生を検出します。注記 1
trigger_on_logerrortrueOutOfMemoryError 発生時に agent が、ログアーカイブファイル (archivefile) を出力するかどうかを指定します。注記 1
trigger_on_logsignaltrueagent (JVM) が SIGQUIT を受信した時に、ログアーカイブファイル (archivefile) を出力するかどうかを指定します。注記 1
trigger_on_loglocktrueJavaレベルのデッドロックを検知した時に、ログアーカイブファイル (archivefile) を出力するかどうかを指定します。
rank_level5スナップショット取得時に標準出力で出力されるヒープ使用量のランクキング順位を指定します。0を指定した場合、ランキングは表示されません。
rank_orderdeltaヒープ使用量のランキングの種別を指定します。"delta" を指定した場合は前回からの変動分を、"usage" を指定した場合はその時の使用量を比較します。 この値は"alert_percentage"とヒープ使用量アラートにも利用されます。
alert_percentage50ヒープ使用量のアラートを送信する閾値を指定します。この値は "rank_order" に影響されます。あるクラスのオブジェクトが前回のスナップショットから閾値以上増加した場合(delta)か, ヒープ使用量そのものが閾値以上の場合(usage)に、agent はアラートとして、標準エラー出力と SNMP 送信を行います。0が指定された場合、agent はアラートを出しません。
javaheap_alert_percentage95Javaヒープ総使用量のアラートを送信する閾値を設定します。Javaヒープ使用量がこの閾値以上の場合、agent はアラートとして、標準エラー出力と SNMP 送信を行います。0が指定された場合、agent はアラートを出しません。
metaspace_alert_threshold0メタスペース総使用量のアラートを送信する閾値を設定します。メタスペースは Java 7 以前では permanent 世代として知られていました。メタスペース使用量がこの閾値以上の場合、agent はアラートとして、標準エラー出力と SNMP 送信を行います。0が指定された場合、agent はアラートを出しません。
snapshot_interval0スナップショット取得の間隔を秒単位で指定します。0を指定した場合、agent は定期的なスナップショットの取得を行わなくなります。注記 3
log_interval300平常モード時に出力されるJavaヒープを除く情報を取得する間隔を秒単位で指定します。0を指定した場合、定期的な平常モードの出力を行わなくなります。注記 3
first_collecttruetrue を指定した場合、完全モード時に出力されるログアーカイブファイルを、最初のOOME、あるいはデッドロックが発生した時のみ出力します。
logsignal_normal<none>平常モードのログ収集を任意のタイミングで実行させるシグナルを指定します。
logsignal_allSIGUSR2完全モードのログ収集を任意のタイミングで実行させるシグナルを指定します。[注記 B]
signal_reloadSIGHUP設定ファイルを再読み込みさせるシグナルを指定します。[注記 B]
thread_record_enablefalsetrue を指定した場合、agent はスレッドステータス情報を収集します。
thread_record_buffer_size100スレッドステータス情報を格納するリングバッファ(スレッドレコードファイル)のサイズを指定します。
thread_record_filenameheapstats-thread-records.htrスレッドレコードファイルのファイル名です。
thread_record_iotracer@IOTRACER@IOトレーサの名前です。JDK7のみで有効です。
snmp_sendtruetrue を指定した場合、agent は様々なアラートやエラー発生時に SNMP 送信を行います。それ以外 (false) の場合、agent はいかなる SNMP も送信しません。注記 1
snmp_targetlocalhostSNMP をハンドリングするホストを指定します。注記 2
snmp_comnamepublicSNMP コミュニティ名を指定します。注記 2
logdir./tmp完全モードで利用する一次保存ディレクトリを指定します。
archive_command/usr/bin/zip %archivefile% -jr %logdir%完全モードでアーカイブ化する際に利用するコマンドを指定します。 "%archivefile%" は archivefile で、"%logdir%" は logdir でそれぞれ指定したパス/ファイル名を意味します。
kill_on_errorfalseこの値が true に設定された場合、エージェントは OutOfMemoryError や DeadLock を検知したとき、対象のJVMを kill します。


凡例

[reload] 設定ファイルの再読み込みによって変更可能な項目

[1.0][1.1][2.0] それぞれ HeapStats 1.0, 1.1, 2.0 にて有効な項目

脚注

[注記 A] STWを伴うタイミングで実行される。そのタイミングは利用するJVMまたはGCアルゴリズムに依存する。

[注記 B] 動作中のJavaアプリケーション等の、他のシグナルハンドラが使用中のシグナルを指定した場合は、正常に動作しない場合が存在する。

[注記 1] エージェント起動時に、本項目が有効な場合に、無効への切り替えのみが可能。

[注記 2] ヒープアラートトラップのみ反映されない。それ以外のトラップは反映される。

[注記 3] HeapStats 1.0 のみリロード不可能。他のバージョンはリロード可能

4 設定の再読込み

HeapStats は起動中でも設定を途中から変更することが出来ます。 設定ファイルを書き換えた後、"signal_reload" で設定したシグナルを対象の JVM に送信することで再読み込みが行われます。

Personal tools