请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

看了老师的视频,但是实战起来还是有点蒙,希望指点迷津

线上问题是,高峰期CPU飙高,GC频繁,期望调优后高峰期GC耗时可控,CPU稳定,除了加CPU或者拉长gc停顿目标的其他优化手段

JVM配置:
图片描述
GCViewer图
图片描述

Event Detail
图片描述

Summary:

图片描述

Memory:
图片描述

Pause:
图片描述

gcLog原始文件:

正在回答 回答被采纳积分+3

3回答

提问者 咸菜3 2019-07-03 10:05:02

老师这是其中一条长耗时日志,能帮忙分析下产生原因以及解决办法么?服务里有定时job,几分钟就会生成一个较大的map数据结构


2019-07-03T08:56:40.059+0800: 44911.714: [GC pause (G1 Evacuation Pause) (young)

, 0.1776547 secs]

   [Parallel Time: 173.7 ms, GC Workers: 28]

      [GC Worker Start (ms): Min: 44911714.7, Avg: 44911715.0, Max: 44911715.2,

Diff: 0.5]

      [Ext Root Scanning (ms): Min: 1.6, Avg: 2.9, Max: 10.6, Diff: 9.1, Sum: 82

.2]

      [Update RS (ms): Min: 0.0, Avg: 5.0, Max: 9.3, Diff: 9.3, Sum: 139.8]

         [Processed Buffers: Min: 0, Avg: 25.6, Max: 76, Diff: 76, Sum: 717]

      [Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.5]

      [Code Root Scanning (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.

0]

[Object Copy (ms): Min: 161.9, Avg: 165.2, Max: 171.4, Diff: 9.4, Sum: 462

4.3]

      [Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.6]

         [Termination Attempts: Min: 1, Avg: 22.7, Max: 33, Diff: 32, Sum: 636]

      [GC Worker Other (ms): Min: 0.0, Avg: 0.1, Max: 0.2, Diff: 0.2, Sum: 2.5]

      [GC Worker Total (ms): Min: 173.0, Avg: 173.2, Max: 173.5, Diff: 0.5, Sum:

 4850.0]

      [GC Worker End (ms): Min: 44911888.1, Avg: 44911888.2, Max: 44911888.3, Di

ff: 0.2]

   [Code Root Fixup: 0.2 ms]

   [Code Root Purge: 0.0 ms]

   [Clear CT: 0.4 ms]

   [Other: 3.4 ms]

      [Choose CSet: 0.0 ms]

      [Ref Proc: 0.8 ms]

      [Ref Enq: 0.0 ms]

      [Redirty Cards: 0.7 ms]

      [Humongous Register: 0.2 ms]

      [Humongous Reclaim: 0.0 ms]

      [Free CSet: 0.4 ms]

   [Eden: 728.0M(728.0M)->0.0B(912.0M) Survivors: 296.0M->112.0M Heap: 8226.2M(2

0.0G)->7606.9M(20.0G)]

 [Times: user=1.92 sys=0.04, real=0.18 secs]


0 回复 有任何疑惑可以回复我~
  • 完整的日志发一下看看
    回复 有任何疑惑可以回复我~ 2019-07-03 10:44:07
  • 提问者 咸菜3 回复 若鱼1919 #2
    链接: https://pan.baidu.com/s/1i4xKhjaCbzEcfqOx-zmQ6A 提取码: yt7d
    
    几百k,感谢老师耐心帮忙解惑
    回复 有任何疑惑可以回复我~ 2019-07-03 11:44:02
  • 若鱼1919 回复 提问者 咸菜3 #3
    这不还是上午那个文件么?你这个不是GC的问题 吞吐量是97% 最大停顿200ms 平均45ms 这个是一个非常正常的状态。
    回复 有任何疑惑可以回复我~ 2019-07-03 13:59:01
提问者 咸菜3 2019-07-03 09:02:01
目前遇到的问题是线上容器资源有限,cpu就那么多,高峰期的时候,gc并发线程为了满足gc停顿目标(高峰期难达成停顿目标)和用户线程争抢资源,本身cpu就不够用就更恶化了,期望高峰期和低峰期gc使用cpu差异不要太大,因为拉长gc停顿目标,低峰期单次gc时间也会变长,每次gc的时间也会变长,已经做了好几次的停顿目标的改动了,从30ms改动到了100ms了,不希望继续这么改动
0 回复 有任何疑惑可以回复我~
  • 加cpu 没啥好办法。cpu负载持续很高的话 很容易宕机
    回复 有任何疑惑可以回复我~ 2019-07-03 09:41:31
若鱼1919 2019-07-03 08:37:05

https://img1.sycdn.imooc.com//szimg/5d1bf88f00018d4509270309.jpg

GC挺正常的 没啥问题。

应该是你的服务器的负载太高了,不是GC导致的。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信