English
FAQ
How do I enable GC logging?
See Enabling GC Logging. Short version:
- Java 9+:
-Xlog:gc*:file=gc.log:time,uptime - Java 8:
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:gc.log
Is my log uploaded to a server?
No. EasyGC parses the log entirely in your browser with JavaScript. Nothing is transmitted, stored or logged. You can even disconnect from the network after loading the page — or run the site from source yourself.
Which formats are supported?
All mainstream JVM GC log formats: unified logging (-Xlog:gc*, Java 9+) for G1 / ZGC / Shenandoah, and classic PrintGCDetails output (Java 8 and earlier) for Serial / Parallel / ParNew+CMS / G1, from Java 1.2 through 25. Lines that cannot be recognized are skipped and counted in the report header.
My report says "No recognizable GC events"
The log probably wasn't produced with GC logging enabled, or it was truncated to non-GC lines. Double-check the JVM flags and make sure the file actually contains lines like GC(...) or [GC (Allocation Failure).
Why does the report show fewer lines than my file contains?
Only lines that describe GC activity are parsed. Detail lines (region stats, safepoints, application log noise) are intentionally ignored — the header shows exactly how many lines were recognized out of how many total.
What is a "good" GC throughput?
Above 95% is healthy for most services; batch jobs can afford less. Below 90% means roughly a tenth of your CPU budget is spent on garbage collection — worth tuning.
Are Full GCs always bad?
Mostly, yes: they stop the entire JVM and are the most expensive collection. A rare Full GC right after startup is harmless; recurring Full GCs mean the old generation is under pressure — enlarge the heap or find the leak.
The analyzer found a memory leak. What next?
- Reproduce under load and capture a heap dump (
-XX:+HeapDumpOnOutOfMemoryErrororjmap). - Analyze the dominator tree with a heap-dump analyzer (HeapHero, Eclipse MAT).
- Check caches,
ThreadLocals, static collections and listener registrations — the usual suspects.
Does it work offline?
Yes — after the page loads, everything runs client-side. The site can also be deployed as a static build on an intranet.