JVM常用参数

内存设置

参数 含义 说明
-Xms1024m 初始堆大小
-Xmx1024m 最大堆大小
-Xmn500m 年轻代大小
-Xss1024k 单个线程栈
-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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容