java -Xms100m -Xmx100m -Xmn50m -XX:MetaspaceSize=20m -XX:MaxMetaspaceSize=20m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=85 -Xverify:none -XX:+DisableExplicitGC -XX:+CMSParallelRemarkEnabled -XX:+PrintHeapAtGC -XX:+PrintGCTimeStamps -Xloggc:/root/JVM/gc.log -jar JVM-1.0-SNAPSHOT.jar
-Xms:JVM初始最小堆内存
-Xmx:JVM允许最大堆内存
-XX:PermSize JVM初始非堆内存
-XX:MaxPermSize JVM允许最大的非堆内存
-XX:+UseConcMarkSweepGC:年老代激活CMS收集器(标记算法),可以尽量减少fullGC
-XX:+UseParNewGC :设置年轻代为多线程并行收集
-XX:+UseCMSCompactAtFullCollection:在FULL GC的时候,对年老代的压缩(CMS的时候,会导致内存碎片,使内存空间不连续,可能会影响性能,但是可以消除碎片)
-XX:CMSInitiatingOccupancyFraction=85:当年老代空间被占用85%的时候触发CMS垃圾收集
-Xverify:none 关闭Java字节码验证,从而加快了类装入的速度
-XX:+DisableExplicitGC,这个参数作用是禁止代码中显示调用GC
-XX:+CMSParallelRemarkEnabled 重标记
实际生产G1
java -Xms20m -Xmx20m -XX:MetaspaceSize=10m -XX:MaxMetaspaceSize=10m -XX:+UseG1GC -XX:NewRatio=1 -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=15 -XX:ParallelGCThreads=2 -XX:G1HeapRegionSize=5m -XX:+PrintHeapAtGC -XX:+PrintGCTimeStamps -Xloggc:/root/JVM/gc.log -jar JVM-1.0-SNAPSHOT.jar