JVM优化备份

nohup java -jar -server -Xms12g -Xmx12g
-XX:+UseG1GC
-XX:InitiatingHeapOccupancyPercent=35
-XX:ConcGCThread=20
-XX:+PrintFlagsFinal
-XX:+PrintReferenceGC
-verbose:gc
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps
-XX:+PrintHeapAtGC
-Xloggc:/opt/jvmgclog/gc.log
-XX:+PrintAdaptiveSizePolicy
-XX:+UnlockDiagnosticVMOptions
-XX:+G1SummarizeConcMark
-XX:G1HeapRegionSize=16m
-XX:MaxGCPauseMillis=200
-XX:G1NewSizePercent=5
-XX:G1MaxNewSizePercent=60
-XX:ParallelGCThreads=n
-XX:G1MixedGCLiveThresholdPercent=65
-XX:G1HeapWastePercent=10
-XX:G1MixedGCCountTarget=8
-XX:G1OldCSetRegionThresholdPercent=10
-XX:G1ReservePercent=10
-Duser.timezone=GMT+08 dldt-220112.jar --spring.profiles.active=master --server.port=8083 >/dev/null 2>&1 &

说明:
1.在实际工作中,我们可以直接将初始的堆大小与最大堆大小相等, 这样的好处是可以减少程序运行时垃圾回收次数,从而提高效率。
2.初始堆值和最大堆内存内存越大,吞吐量就越高, 但是也要根据自己电脑(服务器)的实际内存来比较。
3.最好使用并行收集器,因为并行收集器速度比串行吞吐量高,速度快。 当然,服务器一定要是多线程的
4.设置堆内存新生代的比例和老年代的比例最好为1:2或者1:3。 默认的就是1:2
5.减少GC对老年代的回收。设置生代带垃圾对象最大年龄,进量不要有大量连续内存空间的java对象,因为会直接到老年代,内存不够就会执行GC。

你可能感兴趣的:(JVM,jvm)