3. Assumptions
•This presentation aims experienced developers
with a little (but good) knowledge about how the
JVM works
•The presentation focus only on the tools, not on
the troubleshooting methods
•Some of the tools are only for Linux. Windows
users, get out! =P
•All tools presented in this presentation are Open
Source projects and some of them are
developed by JBoss
19. Garbagecat
java -jar garbagecat-1.0.0.jar --help
usage: garbagecat [OPTION]... [FILE]
-h,--help help
-o,--options <arg> JVM options used during JVM run
-p,--preprocess preprocessing flag
-s,--startdatetime <arg> JVM start datetime (yyyy-MM-dd HH:mm:ss,SSS)
for converting GC logging timestamps to datetime
-t,--threshold <arg> threshold (0-100) for throughput bottleneck
reporting
20. Garbagecat report
========================================
Throughput less than 90% for PARALLEL_SCAVENGE
========================================
18020.492: [GC [PSYoungGen: 161888K->1376K(166016K)] 949359K->789159K(1214592K), 0.0294550 secs]
...
========================================
SUMMARY:
========================================
# GC Events: 46044
GC Event Types: PARALLEL_SCAVENGE, PARALLEL_SERIAL_OLD
Max Heap Space: 1566912K
Max Heap Occupancy: 1562164K
Max Perm Space: 77864K
Max Perm Occupancy: 46645K
Throughput: 99%
Max Pause: 4098 ms
Total Pause: 1703657 ms
First Timestamp: 4616 ms
Last Timestamp: 232465068 ms
========================================
0 UNIDENTIFIED LOG LINE(S):
26. Please Remember
● Don't develop applications without make use
of testing approaches (unit, integration,
functional, ...)
● Although all testing efforts, there is no 100%
bug free applications
● For all unpredictable and complex problems,
this presentation will help you troubleshoot, if
not all, most of the problem