Documentation Contents
Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide
Next
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
1
Introduction
2
Ergonomics
Garbage Collector, Heap, and Runtime Compiler Default Selections
Behavior-Based Tuning
Maximum Pause Time Goal
Throughput Goal
Footprint Goal
Tuning Strategy
3
Generations
Performance Considerations
Measurement
4
Sizing the Generations
Total Heap
The Young Generation
Survivor Space Sizing
5
Available Collectors
Selecting a Collector
6
The Parallel Collector
Generations
Parallel Collector Ergonomics
Priority of Goals
Generation Size Adjustments
Default Heap Size
Client JVM Default Initial and Maximum Heap Sizes
Server JVM Default Initial and Maximum Heap Sizes
Specifying Initial and Maximum Heap Sizes
Excessive GC Time and OutOfMemoryError
Measurements
7
The Mostly Concurrent Collectors
Overhead of Concurrency
Additional References
8
Concurrent Mark Sweep (CMS) Collector
Concurrent Mode Failure
Excessive GC Time and OutOfMemoryError
Floating Garbage
Pauses
Concurrent Phases
Starting a Concurrent Collection Cycle
Scheduling Pauses
Incremental Mode
Command-Line Options
Recommended Options
Basic Troubleshooting
Measurements
9
Garbage-First Garbage Collector
Allocation (Evacuation) Failure
Floating Garbage
Pauses
Card Tables and Concurrent Phases
Starting a Concurrent Collection Cycle
Pause Time Goal
10
Garbage-First Garbage Collector Tuning
Garbage Collection Phases
Young Garbage Collections
Mixed Garbage Collections
Phases of the Marking Cycle
Important Defaults
How to Unlock Experimental VM Flags
Recommendations
Overflow and Exhausted Log Messages
Humongous Objects and Humongous Allocations
11
Other Considerations
Finalization and Weak, Soft, and Phantom References
Explicit Garbage Collection
Soft References
Class Metadata
Next