JVM调优--常用的设置

原文网址:JVM调优--常用的设置_IT利刃出鞘的博客-CSDN博客

简介

本文介绍Java的JVM调优的常用的配置。

如果面试问到JVM的配置,你回答这几个常用的即可:初始堆大小、最大堆大小、栈的大小、打印完整堆栈信息、OOM时打印堆信息、FullGC时打印堆信息。

内存

  • -Xms<size>
    • 初始堆大小。
  • -Xmx<size>
    • 最大堆大小。
    • 一般将Xms和Xmx设为一样的值,若-Xms比较小,又需要初始化很多对象,jvm就必须反复增加内存。一样大也可避免每次垃圾回收完成后JVM重新分配内存。
  • -Xss<size>
    • 线程的栈的大小。
  • -XX:NewSize=n
    • 设置年轻代大小
  • -Xmn<size>
    • 设置年轻代初始大小和最大大小。增大年轻代后,会减小年老代大小,此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
    • 等效于: 使用 -XX:NewSize 设置初始化大小并使用-XX:MaxNewSize 设置最大大小。
  • -XX:NewRatio=n
    • 设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4
  • -XX:SurvivorRatio=n
    • 年轻代中Eden区与两个Survivor区的比值。
  • -XX:MetaspaceSize=n
    • 元空间大小。
  • -XX:MaxMetaspaceSize=n
    • 最大元空间大小。

错误信息

-XX:-OmitStackTraceInFastThrow

默认情况下,OmitStackTraceInFastThrow 这个参数是开启的,即:-XX:+OmitStackTraceInFastThrow,此时如果程序多次发生了同一个异常,将不打印完整堆栈信息,只打印简略信息。以空指针异常为例,如果很多次空指针异常,将会打印以下信息:

java.lang.NullPointerException
java.lang.NullPointerException
java.lang.NullPointerException
java.lang.NullPointerException

这样就导致有时候排查问题非常不方便(很多研发对此无能为力),我们这里把它关闭,方法是:-XX:-OmitStackTraceInFastThrow。

上边是文章的部分内容,为便于维护,全文已迁移到此网址:JVM调优-常用的设置 - 自学精灵

  • 14
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT利刃出鞘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值