Tuning
约 2 分钟阅读
标签:调优
Java Tuning
| -X | for | default |
|---|---|---|
| -Xms | initial heap size | |
| -Xmx | max heap size | 25%,最大25G |
| -XX | for |
|---|---|
| InitialRAMPercentage | 初始 堆内存 比例 |
| MaxRAMPercentage | 最大 堆内存 比例 |
| MinRAMPercentage | 最小 堆内存 比例 |
-Xmx12g -Xms12g -Xmn8g -XX:MaxMetaspaceSize=512m -XX:MaxDirectMemorySize=256M -XX:+UseContainerSupport -XX:+UseG1GC -XX:MaxGCPauseMillis=200-XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0 -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/home/admin/nas/gc-${POD_IP}-$(date '+%s').log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/admin/nas/dump-${POD_IP}-$(date '+%s').hprof- JAVA_TOOL_OPTIONS
- JDK_JAVA_OPTIONS
- Java 9+
- chriswhocodes.com
- eclipse.dev/openj9/docs/xx_jvm_commands
- www.alibabacloud.com/help/en/sae/latest/best-practices-for-jvm-heap-size-configuration
- cloud.tencent.com/developer/article/1198524
内存限制
java -XshowSettings:vm -version
java -XX:+PrintFlagsFinal -version
java -XX:+PrintFlagsFinal -version | grep -E 'Container|RAM|HeapSize'
java -XX:+PrintFlagsFinal -XX:MaxRAMPercentage=100.0 -version | grep -E 'Container|RAM'
# limits
cat /sys/fs/cgroup/memory/memory.limit_in_bytes
# 新版本 JAVA
java -Xlog:os+container=trace -version- UseContainerSupport
- 默认开启
MaxRAMPercentage=25%
| limit | MaxRAM |
|---|---|
| < 1GB | 50% |
| 1GB < 2GB | 512MB |
| > 2GB | 75% |
-
-Xcompressedrefs- 3-bit shift
- heap size 25GB 上限
- 可通过
-XX:MaxRAMPercentage或者-Xmx覆盖
-
-verbose
- -Xmx
- -XX, -XX, -XX
- Java 8 update 191+
- -XX, -XX
- Java 8 update 131 -> Java 8 update 190
java -XX:MaxRAMPercentage=50 -XshowSettings:vm -version
java -XshowSettings:vm -version
java -Xmx512m -XshowSettings:vm -version
java -XX:+UseContainerSupport -XshowSettings:vm -version# 需要/1024
cat /sys/fs/cgroup/cpu/cpu.sharesGC
PrintFlagsFinal
docker run --rm wener/java java -XX:+PrintFlagsFinal -versionFlag List Example
[Global flags]
uintx AdaptiveSizeDecrementScaleFactor = 4 {product}
...
intx CICompilerCount := 3 {product}
...
uintx InitialHeapSize := 33554432 {product}
...
uintx MaxHeapSize := 524288000 {product}
...
bool UseG1GC = false {product}
bool UseParallelGC := true {product}
...关联信息
反向链接、本文链接的其他页面和外部资料。
参考资料
其他外链5 条
- chriswhocodes.comchriswhocodes.com/
- cloud.tencent.com/developer/article/1198524cloud.tencent.com/developer/article/1198524
- docs.oracle.com/en/java/javase/17/gctuning/ergonomics.htmldocs.oracle.com/en/java/javase/17/gctuning/ergonomics.html
- eclipse.dev/openj9/docs/xx_jvm_commandseclipse.dev/openj9/docs/xx_jvm_commands
- www.alibabacloud.com/help/en/sae/latest/best-practices-for-jvm-heap-size-configurationwww.alibabacloud.com/help/en/sae/latest/best-practices-for-jvm-heap-size-configuration