JVM学习系列(五) 常见的JVM参数

参数 说明 实例
-Xms 初始堆大小,默认物理内存的1/64 -Xms512M
-Xmx 最大堆大小,默认物理内存的1/4 -Xms2G
-Xmn 新生代内存大小,官方推荐为整个堆的3/8 -Xmn512M
-Xss 线程堆栈大小,jdk1.5及之后默认1M,之前默认256k -Xss512k
-XX:NewRatio=n 设置新生代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4 -XX:NewRatio=3
-XX:SurvivorRatio=n 年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:8,表示Eden:Survivor=8:1:1,一个Survivor区占整个年轻代的1/8 -XX:SurvivorRatio=8
-XX:PermSize=n 永久代初始值,默认为物理内存的1/64 -XX:PermSize=128M
-XX:MaxPermSize=n 永久代最大值,默认为物理内存的1/4 -XX:MaxPermSize=256M
-verbose:class 在控制台打印类加载信息
-verbose:gc 在控制台打印垃圾回收日志
-XX:+PrintGC 打印GC日志,内容简单
-XX:+PrintGCDetails 打印GC日志,内容详细
-XX:+PrintGCDateStamps 在GC日志中添加时间戳
-Xloggc:filename 指定gc日志路径 -Xloggc:/data/jvm/gc.log
-XX:+UseSerialGC 年轻代设置串行收集器Serial
-XX:+UseParallelGC 年轻代设置并行收集器Parallel Scavenge
-XX:ParallelGCThreads=n 设置Parallel Scavenge收集时使用的CPU数。并行收集线程数。 -XX:ParallelGCThreads=4
-XX:MaxGCPauseMillis=n 设置Parallel Scavenge回收的最大时间(毫秒) -XX:MaxGCPauseMillis=100
-XX:GCTimeRatio=n 设置Parallel Scavenge垃圾回收时间占程序运行时间的百分比。公式为1/(1+n) -XX:GCTimeRatio=19
-XX:+UseParallelOldGC 设置老年代为并行收集器ParallelOld收集器
-XX:+UseConcMarkSweepGC 设置老年代并发收集器CMS
-XX:+CMSIncrementalMode 设置CMS收集器为增量模式,适用于单CPU情况。

垃圾收集器相关的参数

参数 说明 实例
UseSerialGC 虚拟机运行在Client模式下的默认值,打开这个开关后,使用Serial+Serial Old收集器组合进行内存回收
UseParNewGC 打开这个开关后,使用ParNew+Serial Old收集器组合进行收集
UseConcMarkSweepGC 打开这个开关后,使用ParNew+CMS+Serial Old 的收集器组合进行垃圾回收,Serial Old 收集器做为CMS 收集器出现Concurrent Mode Failure的失败的后背收集器使用
UseParallelGC 虚拟机运行在Server模式下的默认值,打开这个卡管后,使用Parallel Scavenge+Serial Old 收集器组合进行垃圾回收
UseParallelOldGC 打开这个开关后,使用Parallel Scavenge+Parallel Old的收集器组合来进行垃圾回收
SurvivorRatio 新生代中Eden区和Survivor区的内存占比,默认是8,代表Eden:Survivor=8:1
PretenureSizeThrehold 直接晋升到老年代的对象大小,设置这个参数后,大于这个参数的对象直接在老年代分配
MaxTenuringThreshold 晋升到老年代的对象年龄,每个对象在minor gc之后,年龄+1,当大于这个年龄后,进入老年代
UseAdaptiveSizePolicy 动态调整JAVA堆中各个区域的大小以及进入老年代的年龄
HandlePromotionFailure 是否允许分配担保失败,即老年代的剩余空间不足以应对新生代的整个Eden和Survivor区的所有对象都存活的极端情况
ParallelGCThreads 设置并发GC时进行内存回收的线程数
GCTimeRatio GC时间占总时间的比例,默认99,即允许1%的GC时间,仅在使用Parallel Scavenge收集器使用
MaxGCPauseMillis 设置GC最大的亭短时间,仅在使用Parallel Scavenge收集器时生效
CMSInitialtingOccupancyFraction 设置CMS收集器在老年代空间被多少使用后出发垃圾收集,默认是68%,仅在使用CMS收集器时生效
UseCMSCompactAtFullCollection 设置CMS收集器在垃圾收集完成后是否进行一次内存碎片整理,仅在使用CMS收集时生效
CMSFullGCsBeforeCompaction 设置CMS收集器在进行若干次垃圾回收时再启动一次内存碎片整理,仅在CMS收集器时生效
原文地址:https://www.cnblogs.com/jakaBlog/p/11767908.html