zoukankan      html  css  js  c++  java
  • 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对老年代的回收。

  • 相关阅读:
    本地代码库关联Github
    常用正则表达式
    IDEA开启并配置services窗口
    数据结构总结
    IDEA导入项目后文件出现时钟的原因及解决方案
    win7硬盘安装过程图解(需要编辑)
    How to Create a Automated Task that Runs at a Set Time in Windows 7
    【转】Code Review(代码复查)
    (收藏)C#开源资源大汇总
    Windows Workflow Foundation:向跟踪服务(TrackingService)传递数据
  • 原文地址:https://www.cnblogs.com/javaGoGo/p/10164719.html
Copyright © 2011-2022 走看看