Java Garbage Collection Logging: Difference between revisions
Line 37: | Line 37: | ||
Enables printing of messages at every GC. By default, this option is disabled, but <tt>[[#-Xloggc:|-Xloggc:<file>]]</tt> turns it on implicitly. | Enables printing of messages at every GC. By default, this option is disabled, but <tt>[[#-Xloggc:|-Xloggc:<file>]]</tt> turns it on implicitly. | ||
====-XX:+PrintGCTimeStamps==== | |||
<pre> | |||
-XX:+PrintGCTimeStamps | |||
</pre> | |||
Enables printing of time stamps (time in seconds since the JVM started) at every GC. By default, this option is disabled. Time stamps recorded this way provide a chronology relative to the time the JVM started, but additional calculation is needed to translate the timestamps to normal timestamps; this is only possible if the JVM start time is also recorded. A better way to record timestamps is to use [[]]. | |||
====-XX:+PrintGCDateStamps===== | |||
<pre> | |||
-XX:+PrintGCDateStamps | |||
</pre> | |||
Revision as of 03:24, 13 February 2017
Internal
Command Line Options
Java 8
Overview
In Java 8, GC logging is enabled with the -Xloggc:<file> (see below). The actual -XX values the JVM operates with are displayed at the top of the log file:
... CommandLine flags: -XX:InitialHeapSize=268435456 -XX:MaxHeapSize=4294967296 -XX:+PrintGC -XX:+PrintGCTimeStamps -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseParallelGC ...
Options
-Xloggc:
-Xloggc:<file>
where <file> can be absolute or relative. In case of a relative path, it is relative to the current directory.
-XX:+PrintGC
-XX:+PrintGC
Enables printing of messages at every GC. By default, this option is disabled, but -Xloggc:<file> turns it on implicitly.
-XX:+PrintGCTimeStamps
-XX:+PrintGCTimeStamps
Enables printing of time stamps (time in seconds since the JVM started) at every GC. By default, this option is disabled. Time stamps recorded this way provide a chronology relative to the time the JVM started, but additional calculation is needed to translate the timestamps to normal timestamps; this is only possible if the JVM start time is also recorded. A better way to record timestamps is to use [[]].
-XX:+PrintGCDateStamps=
-XX:+PrintGCDateStamps
-verbose:gc
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=5
-XX:GCLogFileSize=3M