zoukankan      html  css  js  c++  java
  • 优化年轻代参数的分析思路

    分析这几点

    • qps多少?
    • 每秒占用多少内存?
    • 多长时间触发一次Minor GC? 60秒
    • 一般Minor GC后有多少存活对象? 120M左右
    • Survivor能放的下吗? survivor 500M
    • 会不会频繁因为Survivor放不下导致对象进入老年代? 不会
    • 会不会因动态年龄判断规则进入老年代?不会, survivor 远大于minor gc后的存活对象总大小

    以上是参考一个线上服务gc日志 stw超过500ms 的gc日志来分析的

    思路

    主要要保证年轻代 survivor 区不会因为塞不下存活对象或因为动态年龄判断进入老年代;同时根据minor gc的频率, 合理调降低大龄对象进入老年代的年龄(具体调大还是调小,要看实际情况),让那些长期存活的对象尽快进入老年代,释放年轻代空间

    @Service @Component 这类长期存活但是比较小的 调小年龄可以让他们快点进入老年代待着

    但是,如果高并发服务中有部分耗时接口 导致该接口处理过程中的对象 熬了几个minor gc,这时候调低晋升年龄 就可能导致频繁full gc了

    本文来自博客园,作者:mushishi,转载请注明原文链接:https://www.cnblogs.com/mushishi/p/14553111.html

  • 相关阅读:
    二分图匹配【模板】
    高斯消元【模板】
    G. 小花梨的函数
    数字计数
    选课
    二叉苹果树
    重建道路
    【UVA10187】Headmaster's Headache(校长的烦恼)
    【51NOD1447】好记的字符串
    【51NOD1779】逆序对统计
  • 原文地址:https://www.cnblogs.com/mushishi/p/14553111.html
Copyright © 2011-2022 走看看