码迷,mamicode.com
首页 > 其他好文 > 详细

JVM内存分配调优

时间:2019-09-08 20:18:13      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:dap   依据   color   style   bsp   必须   http   测试结果   方法   

Reference: https://time.geekbang.org/column/article/108139

 

参考指标

  • GC频率:?频的FullGC会给系统带来?常?的性能消耗,虽然MinorGC相对FullGC来说好了许多,但过多的MinorGC仍会给系统带来压?。
  • 内存:这?的内存指的是堆内存??,堆内存又分为年轻代内存和?年代内存。?先我们要分析堆内存??是否合适,其实是分析年轻代和?年代的?例是否合适。如果内存不?或分配不均匀,会增加FullGC,严重的将导致CPU持续爆满,影响系统性能。
  • 吞吐量:频繁的FullGC将会引起线程的上下?切换,增加系统的性能开销,从?影响每次处理的线程请求,最终导致系统的吞吐量下降。
  • 延时:JVM的GC持续时间也会影响到每次请求的响应时间。

 

具体调优方法

性能配置参数如果?定要改,那就必须基于?量的测试结果或线上的具体性能来进?调整,这是优化的前提

  • 调整堆内存空间减少FullGC:通过?志分析,堆内存基本被?完了,?且存在?量FullGC,这意味着我们的堆内存严重不?,这个时候我们需要调?堆内存空间。
  • 设置Eden、Survivor区?例:在JVM中,如果开启 AdaptiveSizePolicy,则每次 GC 后都会重新计算 Eden、From Survivor和 To Survivor区的??,计算依据是 GC 过程中统计的 GC 时间、吞吐量、内存占?量。这个时候SurvivorRatio默认设置的?例会失效。在JDK1.8中,默认是开启AdaptiveSizePolicy的,我们可以通过-XX:-UseAdaptiveSizePolicy关闭该项配置,或显?运?-XX:SurvivorRatio=8,将Eden、Survivor的?例设置为8:2。?部分新对象都是在Eden区创建的,我们可以固定Eden区的占??例,来调优JVM的内存分配性能。

 

JVM内存分配调优

标签:dap   依据   color   style   bsp   必须   http   测试结果   方法   

原文地址:https://www.cnblogs.com/agilestyle/p/11487945.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!