| Analysis Date | JDK | Operating System | CPU Architecture | Debug JVM? |
|---|---|---|---|---|
| 2025-12-27 | OpenJDK21 | Linux | x86 | N |
Results
Switches Identified
Switch Analysis
| Name | Type | Description | Default Value | Your Value | ||||
|---|---|---|---|---|---|---|---|---|
| TieredCompilation | boolean | Enable tiered compilation |
|
true | ||||
| Analysis | OK | |||||||
| Name | Type | Description | Default Value | Your Value |
|---|---|---|---|---|
| UseCodeCacheFlushing | boolean | Remove cold/old nmethods from the code cache | true | 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 |
|---|---|---|---|---|
| OptimizeStringConcat | boolean | Optimize the construction of Strings by StringBuilder | true | true |
| 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 |
|---|---|---|---|---|
| ParallelRefProcEnabled | boolean | Enable parallel reference processing whenever possible | false | true |
| Analysis | This switch will be removed in the future. It will be Deprecated in OpenJDK26. Obsoleted in OpenJDK27. Expired in OpenJDK28. | |||
| Name | Type | Description | Default Value | Your Value |
|---|---|---|---|---|
| mx | <size> | set maximum Java heap size | 1G | |
| 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 |
|---|---|---|---|---|
| NewRatio | int | Ratio of old/new generation sizes | 2 in range(0, max_uintx-1) | 3 |
| Analysis | OK | |||
| Name | Type | Description | Default Value | Your Value |
|---|---|---|---|---|
| SurvivorRatio | int | Ratio of eden/survivor space size | 8 in range(1, max_uintx-2) | 8 |
| Analysis | OK | |||
| Name | Type | Description | Default Value | Your Value |
|---|---|---|---|---|
| UseStringDeduplication | boolean | Use string deduplication | false | true |
| 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) | 256m |
| Analysis | OK | |||
| Name | Type | Description | Default Value | Your Value |
|---|---|---|---|---|
| MaxMetaspaceSize | size_t | Maximum size of Metaspaces (in bytes) | max_uintx | 512m |
| Analysis | OK | |||
| 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 |
|---|---|---|---|---|
| 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) | 20 |
| 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)) | 16M |
| Analysis | OK | |||
| Name | Type | Description | Default Value | Your Value |
|---|---|---|---|---|
| G1NewSizePercent | int | Percentage (0-100) of the heap size to use as default minimum young gen size. |
5 in range(0, 100) | 20 |
| Analysis | OK | |||
| Name | Type | Description | Default Value | Your Value |
|---|---|---|---|---|
| G1MaxNewSizePercent | int | Percentage (0-100) of the heap size to use as default maximum young gen size. |
60 in range(0, 100) | 40 |
| Analysis | OK | |||
| Name | Type | Description | Default Value | Your Value |
|---|---|---|---|---|
| G1ReservePercent | int | It determines the minimum reserve we should have in the heap to minimize the probability of promotion failure. |
10 in range(0, 50) | 10 |
| 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) | 15 |
| Analysis | OK | |||
| Name | Type | Description | Default Value | Your Value |
|---|---|---|---|---|
| G1MixedGCCountTarget | int | The target number of mixed GCs after a marking cycle. | 8 in range(0, max_uintx) | 4 |
| 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.log:time,tags | |
| 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 | ./dump.hprof |
| Analysis | OK | |||
| Name | Type | Description | Default Value | Your Value |
|---|---|---|---|---|
| ErrorFile | string | If an error occurs, save the error data to this file [default: ./hs_err_pid%p.log] (%p replaced with pid) |
nullptr | ./hs_err_pid%p.log |
| Analysis | OK | |||
| Name | Type | Description | Default Value | Your Value |
|---|---|---|---|---|
| NativeMemoryTracking | string | DEBUG_ONLY(summary | detail | |
| Analysis | OK | |||
| Name | Type | Description | Default Value | Your Value |
|---|---|---|---|---|
| StartFlightRecording | string | Start flight recording with options | nullptr | filename=recording.jfr,settings=devops/jvm/custom.jfc |
| Analysis | OK | |||
