Java 11でのGCログの出力フォーマットについて

Javaの引数として指定する設定の中には、Javaのバージョンが変わったことで、設定内容が変わるものがあります。この記事では、その中でも、GCのパラメーターに関して解説を行います。

GCのパラメーターについては、以前にColdFusion 2016でJava 11に変更する際のFAQでも紹介しています。

【FAQ記事より抜粋】

  1. 独自に追加したパラメーターがある場合、そのパラメーターがJava 11でも設定可能かを確認してください。
    • 例えば、FullGC発生時の状況をログに出力する「verbose:gc  -Xloggc:C:\ColdFusion2016\cfusion\logs\gc_%t.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps
       -XX:+PrintHeapAtGC -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M」などの設定で「-XX:+PrintGCDetails」や「-XX:+PrintGCDateStamps」などいくつかのパラメーターが Java9で廃止されています
      • https://docs.oracle.com/javase/jp/9/tools/java.htm#GUID-BE93ABDC-999C-4CB5-A88B-1994AAAC74D5
        (抜粋)-XX:+PrintGCDetails すべてのGCで詳細メッセージの出力を有効にします。デフォルトでは、このオプションは無効になっています。「JVM統合ロギングフレームワークを使用したロギングの有効化」を参照してください
      • 上記の例ではJava 11で動作するように下記のような記述に変更します
         -Xlog:gc*=info:file="C:\ColdFusion2016\cfusion\logs\gc_%t.log":time,uptime,level,tags:filecount=10,filesize=10M

上記は、Java 9より「JVM統合ロギングフレームワーク」としてGCログの出力フォーマットが整理し直されたことによるものです。
-Xlogの記述方法は、[tag selection][:[output][:[decorators][:output-options]]]と記述します。tag selectionの箇所では-Xlog:gc*=info,safepoint*=off: ... と書くことで、gcでタグ付けされたメッセージはすべてinfoレベルで出力しますが、safepointでタグ付けされたメッセージは出力しないなど、細かなタグ付けことの出力レベルを設定できるようです(例: -Xlog:gc*=info,gc+heap=trace:file="C:\ColdFusion2021\logs\gc_%t.log ...)

【Java 11のリファレンス】
https://docs.oracle.com/en/java/javase/11/tools/java.html#GUID-BE93ABDC-999C-4CB5-A88B-1994AAAC74D5


 


記事公開日:2022年03月30日
最終更新日:2022年03月30日


x

Sample Modal Window

This is just a sample…

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.

Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.