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对老年代的回收。

  • 相关阅读:
    牛客-编程题
    Python 实现一键发布项目
    IDEA MyBatis Log Plugin 收费了,这个可以替代用
    微信 for Windows 内测3.3.0版本,能刷朋友圈啦!
    实况摄像头,“偷窥” 世界美景!
    阿里云盘PC/MAC客户端内测版
    我十年前的工位 vs 我现在的工位
    设置电脑屏保全屏显示时间,酷!
    自我介绍
    Bartender 处理日期格式化
  • 原文地址:https://www.cnblogs.com/javaGoGo/p/10164719.html
Copyright © 2011-2022 走看看