1Z0-599 · Question #14
Which three JVM options would you add to investigate performance issues in a HotSpot JVM?
The correct answer is A. xx:+PrintGCDetails B. xx:+PrintGCTimeStamps D. verbose:gc. JVM Performance Investigation Options Correct Answers: A, B, D > Note: The options appear to be missing the leading - dash - in practice these are -XX:+PrintGCDetails, -XX:+PrintGCTimeStamps, and -verbose:gc. --- Option-by-Option Breakdown A: -XX:+PrintGCDetails YES Enables…
Question
Which three JVM options would you add to investigate performance issues in a HotSpot JVM?
Exhibit
Options
- Axx:+PrintGCDetails
- Bxx:+PrintGCTimeStamps
- Cxx:+HandlePromotionFailure
- Dverbose:gc
- Eserver
How the community answered
(36 responses)- A86% (31)
- C8% (3)
- E6% (2)
Explanation
JVM Performance Investigation Options
Correct Answers: A, B, D
Note: The options appear to be missing the leading
-dash - in practice these are-XX:+PrintGCDetails,-XX:+PrintGCTimeStamps, and-verbose:gc.
Option-by-Option Breakdown
A: -XX:+PrintGCDetails YES
Enables verbose GC logging with full detail - heap sizes before/after collection, pause duration, and which GC regions were affected. This is a primary diagnostic tool for spotting memory pressure and long pause times.
B: -XX:+PrintGCTimeStamps YES
Adds timestamps to GC log entries so you can correlate GC events with application slowdowns on a timeline. Alone it's minimal, but combined with PrintGCDetails it becomes powerful for pattern analysis.
C: -XX:+HandlePromotionFailure NO
This is a GC tuning/configuration flag, not a diagnostic one. It allowed minor GC to proceed even when the old generation lacked space for all promoted objects. It was deprecated and removed in Java 6u24+ - it doesn't investigate anything, it changes GC behavior.
D: -verbose:gc YES
A standard JVM flag (not an -XX extension) that enables basic GC output - when collections occur and how long they take. It's the simplest GC diagnostic available and works across all JVM implementations.
E: -server NO
This selects the server-mode JIT compiler (C2), which applies more aggressive optimizations. It changes how the JVM runs code - it's a performance configuration choice, not a diagnostic tool for investigating existing issues.
Memory Tip
"Investigate = observe, not change"
| Purpose | Flags |
|---|---|
| Observe (investigation) | -verbose:gc, -XX:+PrintGCDetails, -XX:+PrintGCTimeStamps |
| Change (configuration) | -server, -XX:+HandlePromotionFailure |
If a flag modifies JVM behavior, it's tuning - not investigation. If it outputs diagnostic data, it's investigation.
Topics
Community Discussion
No community discussion yet for this question.
