JVM参数调优

java内存结构

一、垃圾回收机制

          

  堆内存分为:新生代,老年代

  默认比例: 1:2     

      新生代:刚出生不久的对象,存放在新生代里面,存放不是经常使用的对象

      老年代:存放比较活跃的对象,存放经常被引用的对象     

      垃圾回收机制回收在新生代比较频繁,老年代回收的次数比较少。

二、jvm参数调优

     

常见参数配置

-XX:+PrintGC      每次触发GC的时候打印相关日志

-XX:+UseSerialGC     串行回收

-XX:+PrintGCDetails  更详细的GC日志

-Xms               堆初始值

-Xmx               堆最大可用值

-Xmn               新生代堆最大可用值

-XX:SurvivorRatio  用来设置新生代中eden空间和from/to空间的比例.

-XX:NewRatio       配置新生代与老年代占比1:2

含以-XX:SurvivorRatio=eden/from=den/to

总结:在实际工作中,我们可以直接将初始的堆大小与最大堆大小相等,

这样的好处是可以减少程序运行时垃圾回收次数,从而提高效率。

-XX:SurvivorRatio     用来设置新生代中eden空间和from/to空间的比例.

 

三、调优总结

吞吐量:是一台服务器每秒能够相应的查询次数

垃圾回收次数和设置最大堆内存大小无关,只和初始内存有关系。

初始内存会影响吞吐量

堆的初始值和最大堆内存一致,并且初始堆越大就会高。

初始堆值和最大堆内存内存越大,吞吐量就越高。

最好使用并行收集器,因为并行收集器速度比串行吞吐量高,速度快。

设置堆内存新生代的比例和老年代的比例最好为1:2或者1:3。

减少GC对老年代的回收。

 

posted @ 2018-12-23 16:47  暗夜罗  阅读(314)  评论(0编辑  收藏  举报