基本参数

Jvm参数含义
-Xintbytecode interpreter,解释执行字节码,启动快,执行慢
-XcompJust-In-Time Complier,即时编译,启动慢,执行快
-Xmixed混合模式,热点代码会被编译为本地代码,启动较快,热点代码执行快多次被调用的方法或多次调用的循环体称为热点代码
-XX:ComplieThreshold=10000检测热点代码,默认阀值为10000
-XX:+DoEscapeAnalysis逃逸分析,栈上分配和锁消除会用到该参数
-XX:+EliminateAllocations标量替换,栈上分配,对象会替换为标量,如果类全都是基本数据类型属性,就可以进行标量替换
-XX:+PrintEliminateAllocations打印标量替换信息
-XX:+UseTLAB开启TLAB,默认1%,线程本地分配缓冲区
-XX:+PrintTLAB打印TLAB的使用情况
-XX:+TLABSize设置TLAB大小
-XX:TLABWasteTargetPercent设置TLAB占Eden区的比例
TargetSurvivorRatio默认50%,survivor动态晋升参数,survivor区按照年龄从小到大相加,如果超过这个值,那么当前年龄往上晋升老年代
-Xmx -Xms -Xmn -Xss最大堆、最小堆、年轻代大小、栈大小
MaxTenuringThreshold默认15,对象进入老年代年龄,4位所以最大15
-XX:PreTenureSizeThreshold大对象进入老年代
-XX:+PrintTenuringDistribution
-XX:+DisableExplictGC禁用System.gc()功能,默认是禁用的
-XX:PrintGC
-XX:PrintGCDetails
-XX:PrintHeapAtGC
-XX:PrintGCTimeStamps
-XX:PrintGCDateStamps
-XX:+PrintCommandLineFlags
-XX:+HeapDumpOnOutOfMemoryErroroom导出堆
-XX:HeapDumpPath导出地址
-Xloggcgc日志地址
-XX:PrintGCApplicationConcurrentTime打印应用程序时间
-XX:PrintGCApplicationStopTime打印暂停时间
-XX:PrintReferenceGC记录了多少种不同类型GC的引用
-verbose:class类加载详细过程
-XX:+PrintVMOptions
-XX:+PrintFinalFlags
-XX:PreBlockSpin锁自旋次数

ParallelGC/ParallelOldGC

Jvm参数含义
-XX:+UseParallelGC
-XX:+UseParallelOldGC
-XX:ParallelGCthreads垃圾回收线程数默认是NCPU
-XX:MaxGCPauseMillis
-XX:GCTimeRatio
-XX:UseAdaptiveSizePolicy自动调整各区大小比例
-XX:MaxTenuringThreshold对象晋升老年代年龄,CMS是6,其他是15
-XX:SurvivorRatio
-XX:PreTenureSizeThreshold大对象进入老年代,对象大小

ParNew/Cms

Jvm参数含义
UseCMSCompactAtFullCollection开启碎片压缩
CMSFullGCsBeforeCompaction多少次GC之后压缩碎片
-XX:CMSInitiatingOccupancyFraction老年代预留空间,之前92,现在68
-XX:ParallelCMSThreads并行线程数,(NCPU+3)/4
-XX:+UseCMSInitiatingOccupancyOnly使用设定预留
-XX:+CMSScavengeBeforeRemarkcmsgc之前执行一次ygc
-XX:+UserParNewGC
-XX:+UseConcMarkSweepGC

G1

Jvm参数含义
-XX:UserG1GC开启G1 GC
-XX:MaxGCPauseMillis
-XX:GCPauseIntervalMills
-XX:+G1HeapRegionSize分区大小,逐渐增加1 2 4 8 16随着Size增加,GC时间增加
G1NewSizePercent年轻代最小比例5%
G1MaxNewSizePercent年轻代最大比例5%
-XX:GCTimeRatio
ConcGCThreads垃圾回收线程数量
InitialingHeapOccupancyPercent启动堆空间占用的比例

一只鱼
49 声望1 粉丝

引用和评论

0 条评论