JVM的参数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014803081/article/details/88903376

默认配置:

对内存最大值是物理内存的1/4,堆内young:old=1:2,young中一个s:e=1:6,元数据空间12m-20m,年轻代默认拷贝次数15次,官方建议:young:old=3:5。

参数

-Xmx1024 Java Heap最大值,最佳设值应该视物理内存大小及计算机内其他内存开销而定;
-Xms1024 Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
-Xmn512 Java Heap Young区大小;
-Xss1 每个线程的Stack大小;
-XX:NewRatio=3 设置老年代和年轻代的比例,几就是几倍
-XX:SurvivorRatio=4 e区和s区的比例
-XX:MaxTenuringThreshold=15 年轻代拷贝次数
-Duser.timezone=GMT+8 //设定GMT区域,避免CentOS坑爹的时区设置
-XX:+PrintGC
-XX:+PrintGCDetails 打印GC日志
-XX:+PrintGCDateStamps 时间戳
-XX:+PrintGCApplicationConcurrentTime
-XX:+PrintGCApplicationStoppedTime
-XX:PrintHeapAtGC
-Xloggc:filename
-XX:MetaspaceSize=56m:设定初始元数据空间大小
-XX:MaxMetaspaceSize=256m:设定最大元数据空间大小
-XX:MinMetaspaceFreeRatio= 当进行过Metaspace GC之后,会计算当前Metaspace的空闲空间比,如果空闲比小于这个参数,那么虚拟机将增长Metaspace的大小。
-XX:MaxMetaspaceFreeRatio= 当进行过Metaspace GC之后,会计算当前Metaspace的空闲空间比,如果空闲比大于这个参数,那么虚拟机会释放Metaspace的部分空间。
-XX:MaxMetaspaceExpansion= Metaspace增长时的最大幅度,
-XX:MinMetaspaceExpansion= Metaspace增长时的最小幅度,
-XX:+DisableExplicitGC //忽略手动调用GC, System.gc()的调用就会变成一个空调用,完全不触发GC
-XX:+UseSerialGC:设置串行收集器
-XX:+UseParallelGC:选择垃圾收集器为并行收集器。此配置仅对年轻代有效。即上述配置下,年轻代使用并发收集,而年老代仍旧使用串行收集。
-XX:+UseParallelOldGC:配置年老代垃圾收集方式为并行收集。JDK6.0支持对年老代并行收集。
-XX:+UseAdaptiveSizePolicy:设置此选项后,并行收集器会自动选择年轻代区大小和相应的Survivor区比例,以达到目标系统规定的最低相应时间或者收集频率等,此值建议使用并行收集器时,一直打开。
-XX:ParallelGCThreads=4:配置并行收集器的线程数,即:同时多少个线程一起进行垃圾回收。此值最好配置与处理器数目相等。
-XX:MaxGCPauseMillis=100:设置每次年轻代垃圾回收的最长时间,如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值。
-XX:+UseConcMarkSweepGC:设置年老代为并发收集。测试中配置这个以后,-XX:NewRatio=4的配置失效了,原因不明。所以,此时年轻代大小最好用-Xmn设置。
-XX:+UseParNewGC:设置年轻代为并行收集。可与CMS收集同时使用。JDK5.0以上,JVM会根据系统配置自行设置,所以无需再设置此值。
-XX:CMSFullGCsBeforeCompaction:由于并发收集器不对内存空间进行压缩、整理,所以运行一段时间以后会产生“碎片”,使得运行效率降低。此值设置运行多少次GC以后对内存空间进行压缩、整理。
-XX:+UseCMSCompactAtFullCollection:打开对年老代的压缩。可能会影响性能,但是可以消除碎片
-XX:ParallelGCThreads=4:配置并行收集器的线程数,即:同时多少个线程一起进行垃圾回收。此值最好配置与处理器数目相等。
-XX:+CMSParallelRemarkEnabled //降低标记停顿
-XX:LargePageSizeInBytes=128m //内存页的大小
-XX:+UseFastAccessorMethods //原始类型的快速优化
-XX:+UseCMSInitiatingOccupancyOnly //使用手动定义初始化定义开始CMS收集
-XX:CMSInitiatingOccupancyFraction=70 //使用cms作为垃圾回收使用70%后开始CMS收集

猜你喜欢

转载自blog.csdn.net/u014803081/article/details/88903376