Analysis Date | JDK | Operating System | CPU Architecture | Debug JVM? |
---|---|---|---|---|
2024-06-13 | OpenJDK21 | Linux | x86 | N |
Results
Switches Identified
Switch Analysis
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
UseG1GC | boolean | Use the Garbage-First garbage collector | false | true |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
UnlockExperimentalVMOptions | boolean | Enable normal processing of flags relating to experimental features |
false | true |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
TrimNativeHeapInterval | uint | Interval, in ms, at which the JVM will trim the native heap if the platform supports that. Lower values will reclaim memory more eagerly at the cost of higher overhead. A value of 0 (default) disables native heap trimming. |
0 in range(0, UINT_MAX) | 60000 |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
G1HeapRegionSize | size_t | Size of the G1 regions. | 0 in range(0, NOT_LP64(32*M) LP64_ONLY(512*M)) | 8m |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
ParallelRefProcEnabled | boolean | Enable parallel reference processing whenever possible | false | true |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
ResizePLAB | boolean | Dynamically resize (survivor space) promotion LAB's | true | false |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
UseThreadPriorities | boolean | Use native thread priorities | true | |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
ThreadPriorityPolicy | int | 0 : Normal. VM chooses priorities that are appropriate for normal applications. On Windows applications are allowed to use higher native priorities. However, with ThreadPriorityPolicy=0, VM will not use the highest possible native priority, THREAD_PRIORITY_TIME_CRITICAL, as it may interfere with system threads. On Linux thread priorities are ignored because the OS does not support static priority in SCHED_OTHER scheduling class which is the only choice for non-root, non-realtime applications. 1 : Aggressive. Java thread priorities map over to the entire range of native thread priorities. Higher Java thread priorities map to higher native thread priorities. This policy should be used with care, as sometimes it can cause performance degradation in the application and/or the entire system. On Linux/BSD/macOS this policy requires root privilege or an extended capability. |
0 in range(0, 1) | 1 |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
UsePerfData | boolean | Flag to disable jvmstat instrumentation for performance testing and problem isolation purposes |
true | false |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
AlwaysPreTouch | boolean | Force all freshly committed pages to be pre-touched | false | true |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
ParallelGCThreads | uint | Number of parallel threads parallel gc will use | 0 | 4 |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
MaxGCPauseMillis | int | Adaptive size policy maximum GC pause time goal in millisecond, or (G1 Only) the maximum GC time per MMU time slice |
max_uintx - 1 in range(1, max_uintx - 1) | 500 |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
HeapDumpOnOutOfMemoryError | boolean | Dump heap to file when java.lang.OutOfMemoryError is thrown from JVM |
false | true |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
HeapDumpPath | string | When HeapDumpOnOutOfMemoryError is on, the path (filename or directory) of the dump file (defaults to java_pid<pid>.hprof in the working directory) |
nullptr | /jvm.hprof |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
ms | <size> | set initial Java heap size | 1g | |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
mx | <size> | set maximum Java heap size | 1g | |
Analysis | OK |
Name | Type | Description | Default Value | Your Value | ||||
---|---|---|---|---|---|---|---|---|
TieredCompilation | boolean | Enable tiered compilation |
|
true | ||||
Analysis | OK |
Name | Type | Description | Default Value | Your Value | ||||
---|---|---|---|---|---|---|---|---|
InitialCodeCacheSize | int | Initial code cache size (in bytes) |
|
213m | ||||
Analysis | OK |
Name | Type | Description | Default Value | Your Value | ||||
---|---|---|---|---|---|---|---|---|
ReservedCodeCacheSize | int | Reserved code cache size (in bytes) - maximum code cache size |
|
213m | ||||
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
SegmentedCodeCache | boolean | Use a segmented code cache | false | true |
Analysis | OK |
Name | Type | Description | Default Value | Your Value | ||||
---|---|---|---|---|---|---|---|---|
NonNMethodCodeHeapSize | int | Size of code heap with non-nmethods (in bytes) |
|
5m | ||||
Analysis | OK |
Name | Type | Description | Default Value | Your Value | ||||
---|---|---|---|---|---|---|---|---|
ProfiledCodeHeapSize | int | Size of code heap with profiled methods (in bytes) |
|
80m | ||||
Analysis | OK |
Name | Type | Description | Default Value | Your Value | ||||
---|---|---|---|---|---|---|---|---|
NonProfiledCodeHeapSize | int | Size of code heap with non-profiled methods (in bytes) |
|
128m | ||||
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
MetaspaceSize | size_t | Initial threshold (in bytes) at which a garbage collection is done to reduce Metaspace usage |
NOT_LP64(16 * M) LP64_ONLY(21 * M) | 320m |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
InitiatingHeapOccupancyPercent | int | The percent occupancy (IHOP) of the current old generation capacity above which a concurrent mark cycle will be initiated Its value may change over time if adaptive IHOP is enabled, otherwise the value remains constant. In the latter case a value of 0 will result as frequent as possible concurrent marking cycles. A value of 100 disables concurrent marking. Fragmentation waste in the old generation is not considered free space in this calculation. (G1 collector only) |
45 in range(0, 100) | 30 |
Analysis | OK |
Name | Type | Description | Default Value | Your Value |
---|---|---|---|---|
log | <opts> | Configure or enable logging with the Java Virtual Machine (JVM) unified logging framework. Use -Xlog:help for details. |
gc*,gc+ergo*=trace,gc+age=trace,gc+marking=trace,gc+heap=debug,safepoint:file=/gc.log:time,uptime,level,tags:filecount=10,filesize=50m | |
Analysis | OK |