一些java启动参数(备忘)

来源:互联网 发布:vscode 代码联想 编辑:程序博客网 时间:2024/05/29 13:56

内存:

-Xms JVM启动时申请最小heap内存

-Xmx JVM启动时申请最大heap内存

-Xmn 指定新生带大小

-XX:MinHeapFreeRatio 当前空余heap内存小于该数值,增大heap到-Xmx大小

-XX:MaxHeapFreeRatio 当前空余heap内存大于该数值,减小heap到-Xms大小

-XX:SurvivorRatio 调整Eden Space和Survivor Space的大小

-XX:InitialSurvivorRatio 调整Eden Space和Survivor Space的大小(同时配置-XX:SurvivorRatio和-XX:InitialSurvivorRatio时,以-XX:InitialSurvivorRatio为准)

-XX:PretenureSizeThreshold 对象超过该数值(单位:字节)就不在新生代分配,直接在旧生带分配(Parallel Scavenge GC无效)

-XX:TLABWasteTargetPercent 设置TLAB占用Eden Space的百分比(默认=1%)

-XX:PrintTLAB 查看TLAB空间使用情况

-XX:UseAdaptiveSizePolicy 固定Eden,S0,S1的大小


GC:

-XX:UseSerialGC 强制使用Serical GC

-XX:ParallelGCThreads 指定ParallelGC的线程数

-XX:UseParNewGC 强制使用ParNew GC

-XX:PrintGCApplicationStoppedTime 查看GC造成的应用暂停时间

-XX:UseCMSCompactAtFullCollection 启用CMS GC的碎片整理功能

-XX:UseCMSInitiatingOccupancyOnly=true 不希望JVM自行触发旧生代CMS GC

-XX:CMSPermGenSweepingEnabled -XX:CMSClassUnloadingEnabled 持久带使用CMS GC

-XX:ScavengeBeforeFullGC 在新生代采用PS GC时,禁止Full GC时对新生代进行GC

-XX:+UseConcMarkSweepGC 使用CMS GC


编译:

-client 虚拟机运行在Client模式

-server 虚拟机运行在Server模式

-Xint 强制虚拟机运行于解释模式

-Xcomp 强制虚拟机运行于编译模式

-XX:CompileThreshold 方法调用计数器的阀值

-XX:BackEdgeThreshold 回边计数器的阀值

-XX:OnStackReplacePercentage 根据公式间接调整回边计数器的阀值

-XX:UseCounterDecay 关闭热度衰减

-XX:CounterHalfLifeTime 设置半衰期时间,单位:秒

-XX:-BackgroundComplilation 禁止后台编译(当达到JIT编译条件,程序阻塞,直到编译完成后执行本地代码)

-XX:+PrintCompilation 打印在即时编译时将被编译成本地代码的方法名

-XX:+PrintInlining 打印方法内联信息

-XX:+DoEscapeAnalysis 开启逃逸分析

-XX:+PrintEscapeAnalysis 查看分析结果

-XX:+EliminateAllocations 开启标量转换

-XX:+PrintEliminateAllocations 查看分析结果


其它:

-XX:SoftRefLRUPolicyMSPerMB 每兆堆空闲空间中SoftReference的存活时间,默认1秒

原创粉丝点击