JVM调优技巧与经验

JVM调优其实尽量避免Full GC,因为minor GC时间很短,不会太影响程序的运行。而Full GC会造成stop the world,应该尽量避免。在jvm参数中配置,可以打印GC日志-XX:+PrintGCDetails-Xloggc:/{path}/gc.log如果程序启动时,频繁发生元空间的Full GC,就会启动很慢,需要调大元空间值。...
摘要由CSDN通过智能技术生成

吞吐量:用户代码时间/(用户代码时间 + 垃圾回收时间)
响应时间:STW越短,响应时间越好
调优追求的是什么?吞吐量优先还是响应时间优先,还是在满足一定响应时间的情况下,达到多大的吞吐量。

科学计算,吞吐量

什么是调优?

  • 根据需求进行JVM规划和预调优
  • 优化JVM运行环境(慢、卡顿)
  • 解决JVM运行过程中的各种问题,如OOM
  1. JVM调优其实就是尽量减少Full GC次数和时间。
    Full GC会导致STW(stop the world),Java所有线程挂起,,用户就会有卡顿的感觉。
    minor GC也会导致STW,但是时间很短对程序运行影响较小。而Full GC时间较长,一般比minor GC
    慢10倍以上,应该尽量避免。
    一般生产环境中,几天才会触发一次FGC,甚至一周。

  2. 在jvm参数中配置,可以打印GC日志

    -XX:+PrintGCDetails
    -Xloggc:/{path}/gc.log

    参数总结:
    -XX:+PrintGC 输出GC日志
    -XX:+PrintGCDetails 输出GC的详细日志
    -XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)
    -XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)
    -XX:+PrintHeapAtGC 在进行GC的前后打印出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值