type
status
date
slug
summary
tags
category
icon
password
GC常用参数
- Xmn:年轻代
- Xms:最小堆
- Xmx :最大堆
- Xss:栈空间
- XX:+UseTLAB:使用TLAB,默认打开
- XX:+PrintTLAB:打印TLAB的使用情况
- XX:TLABSize:设置TLAB大小
- XX:+DisableExplictGC:禁用System.gc()不管用 ,防止FGC
- XX:+PrintGC:打印GC日志
- XX:+PrintGCDetails:打印GC详细日志信息
- XX:+PrintHeapAtGC:打印GC前后的详细堆栈信息
- XX:+PrintGCTimeStamps:打印时间戳
- XX:+PrintGCApplicationConcurrentTime:打印应用程序时间
- XX:+PrintGCApplicationStoppedTime:打印暂停时长
- XX:+PrintReferenceGC:记录回收了多少种不同引用类型的引用
- verbose:class:类加载详细过程
- XX:+PrintVMOptions:jvm参数
- XX:+PrintFlagsFinal:-XX:+PrintFlagsInitial 必须会用
- Xloggc:opt/log/gc.log:gc日志的路径以及文件名称
- XX:MaxTenuringThreshold:升代年龄,最大值15
Parallel常用参数
- XX:SurvivorRatio:年轻代中eden和from/to的比值。比如设置3就是eden:survivor=3:2,也就是from和to各占1,eden占用3
- XX:PreTenureSizeThreshold:大对象到底多大
- XX:MaxTenuringThreshold:升代年龄,最大值15
- XX:+ParallelGCThreads:并行收集器的线程数,同样适用于CMS,一般设为和CPU核数相同
- XX:+UseAdaptiveSizePolicy:自动选择各区大小比例
CMS常用参数
- XX:+UseConcMarkSweepGC:设置年老代为并发收集
- XX:ParallelCMSThreads:CMS线程数量
- XX:CMSInitiatingOccupancyFraction:使用多少比例的老年代后开始CMS收集,默认是68%(近似值),如果频繁发生SerialOld卡顿,应该调小,(频繁CMS回收)
- XX:+UseCMSCompactAtFullCollection:在FGC时进行压缩
- XX:CMSFullGCsBeforeCompaction:多少次FGC之后进行压缩
- XX:+CMSClassUnloadingEnabled:年老代启用CMS,但默认是不会回收永久代(Perm)的。此处对Perm区启用类回收,防止Perm区内存满。
- XX:CMSInitiatingPermOccupancyFraction:达到什么比例时进行Perm回收
- GCTimeRatio:设置GC时间占用程序运行时间的百分比
- XX:MaxGCPauseMillis:停顿时间,是一个建议时间,GC会尝试用各种手段达到这个时间,比如减小年轻代
G1常用参数
- XX:+UseG1GC:开启G1
- XX:MaxGCPauseMillis:建议值,G1会尝试调整Young区的块数来达到这个值
- XX:GCPauseIntervalMillis:GC的间隔时间
- XX:+G1HeapRegionSize:分区大小,建议逐渐增大该值,1 2 4 8 16 32。随着size增加,垃圾的存活时间更长,GC间隔更长,但每次GC的时间也会更长 ZGC做了改进(动态区块大小)
- G1NewSizePercent:新生代最小比例,默认为5%
- G1MaxNewSizePercent:新生代最大比例,默认为60%
- GCTimeRatio:GC时间建议比例,G1会根据这个值调整堆空间
- ConcGCThreads:线程数量
- InitiatingHeapOccupancyPercent:启动G1的堆空间占用比例
- Author:NotionNext
- URL:https://tangly1024.com/article/2dc102ba-c5ea-4957-8da9-cb13addef7c5
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!