How to Enable Java 9 GC Logs

How to Enable Java 9 GC Logs

GC logs are vital artifacts to troubleshoot memory/CPU related problems and optimize applications performance. In Sep 2017, the much-awaited Java 9 was released and GC logging was re-implemented using the Unified GC logging framework (JEP 271).

The Unified logging framework is a new initiative to introduce a common logging systems for all components of JVM (compiler, gc, classload, metaspace, svc, jfr, etc.)

Enable Java 9 GC Logs

To enable GC logging in Java 9, a new system property has been introduced. You need to pass this system property during application startup:

-Xlog:gc*:file=

Example:

-Xlog:gc*:file=/tmp/logs/gc.log

In the Java 9 release, 43 GC logging flags were removed. Yes, they are removed, not even deprecated. JVM will not start if old GC flags are passed. Thus, you are forced to replace these flags in Java 9. This table summarizes the old Flags and their equivalents in Java 9.

Analysis Tools

The GC log format was completely changed in Java 9. To analyze Java 9 GC logs, it is highly recommended that you use GC log analysis tools such as GCeasy or HPJmeter. These tools parse Java 9 GC logs and generate great graphical visualizations of the data, as well as reports on key performance indicators and several other useful metrics.

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist