JVM系列笔记目录
- 虚拟机的根底概念
- class文件构造
- class文件加载过程
- jvm内存模型
- JVM罕用指令
- GC与调优
GC罕用参数
- -Xmn -Xms -Xmx -Xss 年老代 最小堆 最大堆 栈空间
- -XX:+UseTLAB 应用TLAB,默认关上
- -XX:+PrintTLAB 打印TLAB的应用状况
- -XX:TLABSize 设置TLAB大小
- -XX:+DisableExplictGC 禁止代码中显示调用GC
- -XX:+PrintGC 打印GC状况
- -XX:+PrintGCDetails 打印GC具体过程
- -XX:+PrintHeapAtGC 在打印GC过程中打印机堆状况
- -XX:+PrintGCTimeStamps 打印GC工夫戳
- -XX:+PrintGCApplicationConcurrentTime (低) 打印应用程序工夫
- -XX:+PrintGCApplicationStoppedTime低) 打印暂停时长
- -XX:+PrintReferenceGC (重要性低) 记录回收了多少种不同援用类型的援用
- -verbose:class 类加载具体过程
- -XX:+PrintVMOptions 打印虚拟机的参数
- -XX:+PrintFlagsFinal 打印机最终的参数
- -XX:+PrintFlagsInitial 打印机初始的参数
- -Xloggc:opt/log/gc.log 指定GC存储的门路
- -XX:MaxTenuringThreshold 指定升代年龄,最大值15
- -XX:PreBlockSpin 锁自旋次数
- -XX:CompileThreshold 热点代码检测参数
Parallel罕用参数
- -XX:SurvivorRatio survivor区比例
- -XX:PreTenureSizeThreshold 指定大对象到底多大
- -XX:MaxTenuringThreshold 指定升代年龄,最大值15
- -XX:+ParallelGCThreads 并行收集器的线程数,同样实用于CMS,个别设为和CPU核数雷同
- -XX:+UseAdaptiveSizePolicy 主动抉择各区大小比例
CMS罕用参数
- -XX:+UseConcMarkSweepGC 应用CMS垃圾回收器
- -XX:ParallelCMSThreads CMS线程数量
- -XX:CMSInitiatingOccupancyFraction 应用多少比例的老年代后开始CMS收集,默认是68%(近似值),如果频繁产生SerialOld卡顿,应该调小
- -XX:+UseCMSCompactAtFullCollection 在FGC时进行压缩
- -XX:CMSFullGCsBeforeCompaction 多少次FGC之后进行压缩
- -XX:+CMSClassUnloadingEnabled CMS运行类卸载
- -XX:CMSInitiatingPermOccupancyFraction CMS达到什么比例时进行Perm回收
- GCTimeRatio 设置GC工夫占用程序运行工夫的百分比
- -XX:MaxGCPauseMillis 进展工夫,是一个倡议工夫,GC会尝试用各种伎俩达到这个工夫,比方减小年老代
G1罕用参数
- -XX:+UseG1GC 应用G1
- -XX:MaxGCPauseMillis 倡议值,G1会尝试调整Young区的块数来达到这个值
- -XX:+G1HeapRegionSize 分区大小,倡议逐步增大该值,1 2 4 8 16 32M; 随着size减少,垃圾的存活工夫更长,GC距离更长,但每次GC的工夫也会更长
- G1NewSizePercent 新生代最小比例,默认为5%
- G1MaxNewSizePercent 新生代最大比例,默认为60%
- GCTimeRatio GC工夫倡议比例,G1会依据这个值调整堆空间
- ConcGCThreads 线程数量
- InitiatingHeapOccupancyPercent 启动G1的堆空间占用比例
常识分享,转载请注明出处。学无先后,达者为先!