JVM常用参数

JVM一些常用参数的整理

内存相关

参数 含义 说明
-Xms 1024m 初始堆大小
-Xmx 1024m 最大堆大小
-Xmn 500m 年轻代大小
-Xss 1024k 单个线程栈
-XX:PermSize=200m 永久代 before java8
-XX:MaxPermSize=300m 永久代 before java8
-XX:MetaspaceSize 元数据 after 8
-XX:MaxMetaspaceSize 元数据 after 8
-XX:NewRatio=4 Olden区与Young区比例 4:1
-XX:SurvivorRatio=8 Eden与Survivor区比例 8:1:1
-XX:LargePageSizeInBytes 内存页大小 JVM优化之调整大内存分页

GC设置

参数 含义 说明
-XX:+DisableExplicitGC 关闭System.gc() 慎用
-XX:MaxTenuringThreshold 晋升年龄
-XX:PretenureSizeThreshold=1024k Olden区直接分配对象临界值
-Xnoclassgc 禁用类回收
-XX:SoftRefLRUPolicyMSPerMB=1s 软引用存活秒数/每空闲MB
-XX:+UseParNewGC 并行回收YOUNG区,CMS默认搭档
-XX:+UseConcMarkSweepGC CMS回收老年代
-XX:CMSFullGCsBeforeCompaction=3 3次FullGC后,整理老年代
-XX:+CMSParallelRemarkEnabled 并行标记,降低停顿
-XX:CMSInitiatingOccupancyFraction=85 Olden区85%后开始GC
-XX:+CMSClassUnloadingEnabled 开启类卸载

调试参数

|参数|含义|说明|
|-XX:+PrintGCDetails|GC日志|
|-XX:+PrintGCApplicationStoppedTime|GC停顿时间|
|-verbose:gc/class/jni|查看gc、类加载、本地方法调用|
|-XX:+PrintHeapAtGC|打印GC触发时的堆栈|
|-Xloggc:log/gc.log|输出gc log|
|-XX:+HeapDumpOnOutOfMemoryError|内存溢出时产生堆dump|
|-XX:+HeapDumpOnCtrlBreak|Crtl+Break产生dump|

其他

-Xverify:none 跳过编译检查

服务器推荐GC参数:
-Xloggc:gc.log
-XX:+PrintGCDetails
-XX:+PrintGCApplicationStoppedTime
-XX:+PrintGCApplicationConcurrentTime

(完)

发表评论

邮箱地址不会被公开。 必填项已用*标注