十个最常用的JVM 配置参数

点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

1.-Xms初始堆大小。只要启动,就占用的堆大小。

2.-Xmx最大堆大小。java.lang.OutOfMemoryError:Java heap这个错误可以通过配置-Xms和-Xmx参数来设置。

3.-Xss栈大小分配。栈是每个线程私有的区域,通常只有几百K大小,决定了函数调用的深度,而局部变量、参数都分配到栈上。

当出现大量局部变量,递归时,会发生栈空间OOM(java.lang.StackOverflowError)之类的错误。

4.XX:NewSize:设置新生代大小的绝对值。

5.-XX:NewRatio设置年轻代和年老代的比值。比如设置为3,则新生代:老年代=1:3,新生代占总heap的1/4。

6.-XX:MaxPermSize:设置持久代大小。

java.lang.OutOfMemoryError:PermGenspace这个OOM错误需要合理调大PermSize和MaxPermSize大小。

7.-XX:SurvivorRatio:年轻代中Eden区与两个Survivor区的比值。注意,Survivor区有form和to两个。比如设置为8时,那么eden:form:to=8:1:1。

8.-XX:HeapDumpOnOutOfMemoryError:发生OOM时转储堆到文件,这是一个非常好的诊断方法。

9.-XX:HeapDumpPath:导出堆的转储文件路径。

10.-XX:OnOutOfMemoryError:OOM时,执行一个脚本,比如发送邮件报警,重启程序。后面跟着一个脚本的路径。

本文通过OpenWrite的Markdown转换工具发布

关注我,回复“加群加入各种主题讨论群

  • 阿里免费开放钉钉“在线课堂”,学生集体“1星好评”

  • Spring Boot 2.x 默认数据源Hikari的配置详解

  • IntelliJ IDEA 2020.1 EAP2 发布:禅模式和 LightEdit 模式

  • Spring Boot 2.x:JdbcTemplate访问MySQL数据库

  • 在家办公的第一天,钉钉、企业微信集体“崩溃”...

    武汉加油!中国加油! 

你可能感兴趣的:(十个最常用的JVM 配置参数)