zoukankan      html  css  js  c++  java
  • JVM实践-记录一次jvm堆内存调整(九)

    说明

    线上内存告警占用了90%+ 订单服务占用了42% 8.3g,分析订单服务是否可以降低配置。

    分析

    1.查看应用实际占用内存

     cat /proc/{pid}/status 

    2.查看jvm启动参数

    3.查看高峰期的时候jvm内存增长率

     jstat -gcutil {pid}  1000 500    1000:1秒采集一次 500:采集500次

    结论:

    1.eden区108秒会触发回收一次,每次回收上一次耗时 和下一次耗时详见得出3.234-3.222=0.012s 回收用了 12毫秒

    2:老年代上次回收和下一次回收空间是一致的,表示几乎没增长

    3.eden区平均每秒增长率:108/100=1.8  

     0.00  57.89   0.58   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89   1.32   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89   1.90   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89   3.05   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89   3.65   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89   3.83   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89   5.58   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89   6.41   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89   7.55   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89   8.29   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89   8.89   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  10.62   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  11.34   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  12.79   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  13.52   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  13.95   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  15.36   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  16.56   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  17.74   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  18.88   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  19.48   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  20.99   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  21.90   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  22.89   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  23.49   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  25.24   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  26.77   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  29.01   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  29.85   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  30.68   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  32.09   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  32.92   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  33.58   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  34.96   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  36.34   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  37.91   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  38.24   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  39.38   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  41.50   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  42.82   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  43.40   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  44.13   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  45.13   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  45.70   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  46.54   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  47.56   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  48.43   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  48.85   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  50.25   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  51.50   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  52.66   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  53.27   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  53.48   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  54.66   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  55.39   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  56.55   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  57.28   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  57.85   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  58.43   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  59.16   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  59.74   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  60.47   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  61.88   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  63.18   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  63.76   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  65.48   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  67.22   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  67.39   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  67.96   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  68.95   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  69.11   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  69.95   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  70.96   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  72.52   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  73.26   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  73.85   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  74.44   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  75.03   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  75.86   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  76.44   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  77.71   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  79.56   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  80.04   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  81.03   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  81.46   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  81.47   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  81.64   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  82.79   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  84.09   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  84.10   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  84.26   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  85.41   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  87.13   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  87.96   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  89.53   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  90.12   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  90.72   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  92.08   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  93.42   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  93.76   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  94.49   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  94.84   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  94.88   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  96.38   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  96.74   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  97.33   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  98.97   9.84  92.58  90.41    139    3.222     4    0.648    3.870
      0.00  57.89  99.55   9.84  92.58  90.41    139    3.222     4    0.648    3.870
    View Code

    4.查看jvm内存使用情况

    结论:

          1.通过上面的采集多采集几次发现老年代使用了9% 并且没有什么增长。老年代是否可能太空闲

    4.根据默认配置计算预期的堆内存大小

    年轻代与老年代比例=1:2

    eden区和2个survivor区比例:8:1:1

    3506438144 byte/108=32467019.851852 byte 每秒增长

    我们通过降低eden区大小和提高频率至少在20秒以上:按照现在的增长率在50秒回收一次,如果低峰期可能时间延长 高峰期我们预计再按2倍计算 则在25秒左右触发 按3倍计算在16秒左右

    eden区大小=32467019.851852 byte *50=1623350992.5926byte=1.5g 左右

    年轻代大小=1623350992.5926/(8/10)=2029188740.7408 byte=1.8898292824074625g

    老年代大小2029188740.7408*2=4058377481.4816=3.779658564814925g  

    总的堆大小=2029188740.7408+4058377481.4816=6087566222.2224=5.6694878472223875g

    5.然后调整jvm参数后期观察

    观察高峰期的回收频率和回收次数,以及full gc的回收频率和回收时间(2~5天一次)

    针对form和to没按8:1:1配置

    jdk8没有指定垃圾回收策略默认使用的

    -XX:+UseParallelGC = Parallel Scavenge + Parallel Old

    可以通过jinfo确认 jinfo使用:https://www.cnblogs.com/LQBlog/p/10691903.html#autoid-3-4-0

    参考:https://www.cnblogs.com/LQBlog/p/9205848.html#_label6

    针对刚上线堆大小设置

    我觉得可以先设置一个较大的值,然后通过以上步骤 计算调整 观察 再调整

  • 相关阅读:
    一次优化web项目的经历记录(一)
    自己做的萌萌哒的js宠物挂件~
    最近的两个小项目,2:Python webapp的docker镜像
    最近的两个小项目,1:在Vscode里写C/C++
    Markdown写接口文档,自动添加TOC
    使用SqlAlchemy时如何方便的取得dict数据、dumps成Json
    【漏洞预警】SaltStack远程命令执行(CVE-2020-11651、CVE-2020-11652) 植入挖矿木马的应急响应 salt-minions salt-store挖矿程序跑满cpu
    pycharm 常用配置
    gitlab + jenkins + docker + k8s
    Microservice 概念
  • 原文地址:https://www.cnblogs.com/LQBlog/p/14807984.html
Copyright © 2011-2022 走看看