ログベースのガベージコレクションの有効化

1.7 よりも前の JVM で実行されているアプリケーションでは、特定のガベージコレクションログの定期的な解析に基づいてガベージコレクションがモニタリングされます。

アプリケーションのガベージコレクションログを設定するには、次の引数を使用します。

-Xloggc:log-file-path
-XX:+Usecollector-type
-XX:+PrintGCDetails

log-file-path -XX:+Use

コレクタタイプ 効果

CMSコレクタ

-XX:+UseConcMarkSweepGC

低停止時間が必須であり、リソースをガベージコレクタと共有できるアプリケーションに適しています。

使用するスレッドの数を設定するには、-XX:ParallelCMSThreads=<n> を使用します。

スループットまたはパラレルコレクタ

-XX:+UseParallelGC

-XX:+UseParallelOldGC

複数の CPU を使用すると、アプリケーションのスループットを向上させることができます。長い停止時間を受け入れることができる作業集約型アプリでの使用に適しています。

G1コレクタ

-XX:+UseG1GC

Java 7で使用でき、CMSコレクタの長期的な代替となるように設計されています。これは、並列的、同時的、増分的に小型化する低停止時間コレクタです。

ログに記録された情報を表示するようにコントローラに指示するには、コントローラ UI で次のノードプロパティを登録します。

enable-jmx-visibility=true
enable-log-based-gc=visiblity=true

デフォルトのログチェック間隔を変更するには、次のノードプロパティを登録します。

logbased-visibility-log-check-interval-in-mills=1000

ガベージコレクションログを解析する正規表現の指定

ログベースのガベージ コレクション メトリックを有効にすると、エージェントでは、さまざまな JDK タイプとガベージコレクションタイプの組み合わせに対応するためにビルトイン正規表現が使用されます。ビルトイン正規表現からシステムのガベージ コレクション メトリックが返されない場合は、次のノードプロパティを登録してログを解析するカスタム正規表現を指定できます。

  • young-gc-custom-regex-1
  • young-gc-custom-regex-2
  • young-gc-custom-regex-3
  • full-gc-custom-regex-1
  • full-gc-custom-regex-2
  • full-gc-custom-regex-3

ノードプロパティを使用してカスタム正規表現を設定すると、ビルトイン正規表現のいずれかを使用してログを解析できなくなります。