ENV JAVA_OPTS="
-server
-Xmx1g
-Xms1g
-Xmn512m
-XX:SurvivorRatio=8
-XX:MetaspaceSize=256m
-XX:MaxMetaspaceSize=512m
-XX:+UseParallelGC
-XX:ParallelGCThreads=4
-XX:+UseParallelOldGC
-XX:+UseAdaptiveSizePolicy
-XX:+PrintGCDetails
-XX:+PrintTenuringDistribution
-XX:+PrintGCTimeStamps
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/heapdump.hprof
-Xloggc:/gc.log
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=5
-XX:GCLogFileSize=10M"
ENTRYPOINT java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar
或者
-e JAVA_OPTS='-server -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -Xmx1024m -Xms1024m -Xmn512m -XX:SurvivorRatio=8 -XX:ParallelGCThreads=8 -XX:ConcGCThreads=8 -XX:G1ConcRefinementThreads=4 -XX:-CICompilerCountPerCPU -XX:CICompilerCount=3 -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/logs/heapdump.hprof'
docker 内存限制:
-m 1024M
--memory-swap 1024M