JVM参数

-Xms:Java堆内存的初始大小

-Xmx:Java堆内存的最大大小

-Xmn:Java堆内存中的新生代大小,扣除新生代剩下的就是老年代的内存大小了

-XX:PermSize:永久代大小

-XX:MaxPermSize:永久代最大大小

-Xss:每个线程的栈内存大小

 -XX:MaxTenuring Threshold 设置经过多少次GC后的对象仍然存活,就转移到老年代区域

-XX:PretenureSizeThreshold 设置超过此大小的对象直接分配到老年代

-XX:+UseParNewGC 使用ParNew垃圾回收器对新生代进行垃圾回收(多线程,淘汰Serial(单线程))

-XX:+UseConcMarkSweepGC 使用CMS垃圾回收器对老年代进行垃圾回收

 -XX:CMSInitiatingOccupancyFaction 设置老年代占用多少比例的时候出发CMS垃圾回收(默认92%)

-XX:+UseCMSCompactAtFullCollection 默认打开,FullGC之后再次STW,停止工作线程,进行碎片整理,然后把存活对象整理到一起,避免内存碎片

-XX:CMSFullGCsBeforeCompaction  执行多少次FullGC之后再执行一次内存碎片整理的工作,默认是0,意思每次Full GC之后都会进行一次内存整理

-XX:+CMSParallellnitialMarkEnabled 在CNS垃圾回收器的初始标记阶段开启多线程并发执行

-XX:+CMSScavengeBeforeRemark 在CMS的重新标记阶段之前,尽量执行一次Young GC

-XX:+UseG1GC 使用G1垃圾回收器来回收新生代和老年代的垃圾

-XX:G1HeapRegionSize 手动指定每个region的大小(默认是堆内存大小除以2048)

-XX:G1NewSizePercent 设置新生代初始占比,默认是5%,系统会不停的给新生代增加region

-XX:G1MaxNewSizePercent 新生代region最多占所有region数量的百分比

-XX:MaxGCPauseMills 设置G1执行GC的时候最多可以让系统西顿多长时间

-XX:InitiatingHeapOccupancyPercent 老年代占据堆内存多少百分比的region,触发新生代+老年代一起混合回收 默认是45

-XX:G1MixedGCCountTarget 在一次混合回收的过程中,最后一个阶段执行几次混合回收,默认值是8次

-XX:G1HeapWastePercent 回收过程不断空出来新的region,一旦空闲出来的region数量达到了堆内存的百分比,就立即停止混合回收,本次回合回收结束,默认5

-XX:G1MixedGCLiveThresholdPercent 确定要回收的region的时候,必须是存活对象低于百分比的region才可以回收,默认85%

-XX:PrintGCDetails 打印详细的GC日志

-XX:PrintGCTimeStamps 这个参数可以打印出来每次GC发生的时间

-Xloggc:gc.log 这个参数可以设置将gc日志写入一个磁盘文件

-XX:+HeapDumpOnOutOfMemoryError 在OOM时自动dump内存快照

-XX:HeapDumpPath=/usr/local/app/oom 内存快照存放位置

-XX:+DisableExplicitGC 禁止显示执行GC,不允许通过代码来触发GC

posted @ 2020-10-23 14:08  大碗炸酱面  阅读(155)  评论(0编辑  收藏  举报