JAVA_OPTS参数设置

设置jvm运行内存及GC回收

1
2
3
4
5
#JAVA_OPTS="-server -Duser.timezone=GMT+08 -Xms4g -Xmx7g -XX:+UseGCOverheadLimit -XX:G1HeapRegionSize=32M -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent"
JAVA_OPTS="-server -verbose:gc -Xms4000m -Xmx9000m -Xss256k -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=HeapDumpOnOutOfMemoryError.log -XX:+UnlockExperimentalVMOptions "
nohup java $JAVA_OPTS $AGENT_OPTS -cp $classpath com.mlog.gavial.importer.nowcastms.NowcastMsImportApp >>out.log &
pid=$!
echo $pid>import.pid

-server:一定要作为第一个参数,在多个CPU时性能佳
-Duser.timezone=GMT+08 时区设置
-XX:+ExplicitGCInvokesConcurrent 降低每次Full gc的时间
–XX:+UseG1GC 使用G1垃圾回收器
-Xms4g 初始Heap大小,使用的最小内存,cpu性能高时此值应设的大一些
-Xmx7g java heap最大值,使用的最大内存
-XX:+UseGCOverheadLimit 限制GC的运行时间
-XX:G1HeapRegionSize 设置的G1区域的大小。值是2的幂,范围是1 MB 到32 MB。目标是根据最小的 Java 堆大小划分出约 2048 个区域。