Go to main content
1/13
Contents
Title and Copyright Information
Preface
Documentation Accessibility
Conventions
1
About Profiling and Performance Tuning
2
Understanding the Tuning Trade-offs
2.1
Pause Times and Throughput
2.1.1
Concurrent and Stop-the-World
2.1.2
Compaction Pauses and Throughput
2.2
Performance and Memory Footprint
2.2.1
Heap Size and Throughput
2.2.2
Bookkeeping and Pause Times
3
Tuning the Oracle JRockit JVM: The First Steps
3.1
Step 1: Basic Tuning
3.1.1
Tuning the Heap Size
3.1.2
Tuning the Garbage Collection
3.1.3
Tuning the Nursery Size
3.1.4
Tuning the Pause Target
3.2
Step 2: Performance Tuning
3.2.1
Call Profiling
3.2.2
Large Pages
3.3
Step 3: Advanced Tuning
3.3.1
Tuning Compaction
3.3.1.1
Compaction Ratio
3.3.1.2
Maximum References
3.3.2
Tuning the Thread Local Area Size
3.4
Best Practices
3.4.1
Oracle WebLogic Server
3.4.2
Oracle WebLogic SIP Server
3.4.3
Oracle Complex Event Processing
3.4.4
Eclipse IDE
3.4.5
Utility Applications
3.4.6
Batch Runs
4
Tuning the Memory Management System
4.1
Setting the Heap and Nursery Size
4.1.1
Setting the Heap Size
4.1.1.1
Setting the Heap Size on 64-bit Systems
4.1.2
Setting the Nursery and Keep Area Size
4.1.2.1
Keep Area
4.2
Selecting and Tuning a Garbage Collector
4.2.1
Selecting a Garbage Collection Mode
4.2.1.1
Throughput Mode
4.2.1.2
Pausetime Mode
4.2.1.3
Deterministic Mode
4.2.1.4
Garbage Collector Mode Selection Workflow
4.2.1.5
Changing Garbage Collection Mode at Run Time
4.2.2
Tuning the Concurrent Garbage Collection Trigger
4.3
Tuning Compaction
4.3.1
Fragmentation vs. Garbage Collection Pauses
4.3.2
Adjusting Compaction
4.3.2.1
Setting the Compaction Ratio
4.3.2.2
Setting Maximum References
4.3.2.3
Turning Off Compaction
4.3.2.4
Using Full Compaction
4.4
Optimizing Memory Allocation Performance
4.4.1
Setting the Thread Local Area Size
5
Tuning Locks
5.1
Lock Profiling
5.2
Disabling Spinning Against Fat Locks
5.3
Adaptive Spinning Against Fat Locks
5.4
Lock Deflation
5.5
Lazy Unlocking
6
Tuning for Low Latencies
6.1
Measuring Latencies
6.2
Tuning the Garbage Collector for Low Latencies
6.2.1
Dynamic Garbage Collection Mode Optimized for Deterministic Pause Times
6.2.2
Dynamic Garbage Collection Mode Optimized for Short Pauses
6.2.3
Static Generational Concurrent Garbage Collection
6.3
Tuning the Heap Size
6.4
Manually Tuning the Nursery Size
6.5
Manually Tuning Compaction
6.6
Tune when to Trigger a Garbage Collection
7
Tuning for Better Application Throughput
7.1
Measuring Application Throughput
7.2
Selecting the Garbage Collector for Maximum Throughput
7.2.1
Dynamic Garbage Collection Mode Optimized for Throughput
7.2.2
Static Single-Spaced Parallel Garbage Collection
7.2.3
Static Generational Parallel Garbage Collection
7.3
Tuning the Heap Size
7.4
Manually Tuning the Nursery Size
7.5
Manually Tuning Compaction
7.6
Tuning the Thread-Local Area Size
8
Tuning for Stable Performance
8.1
Measuring the Performance Variance
8.2
Tuning the Heap Size
8.3
Manually Tuning the Nursery Size
8.4
Tuning the Garbage Collector
8.5
Tuning Compaction
9
Tuning for a Small Memory Footprint
9.1
Measuring the Memory Footprint
9.2
Setting the Heap Size
9.3
Selecting a Garbage Collector
9.4
Tuning Compaction
9.5
Tuning Object Allocation
10
Tuning for a Faster JVM Startup
10.1
Measuring the Startup Time
10.2
Setting the Heap Size
10.3
Troubleshooting Your Application and the JVM
Scripting on this page enhances content navigation, but does not change the content in any way.