pank
V2EX  ›  Java

那位大神帮我看看 FULL GC 时间过长怎么定位

  •  
  •   pank · Jan 16, 2018 · 9933 views
    This topic created in 3037 days ago, the information mentioned may be changed or developed.

    由于我在压测的时候 qps 一直不达标(现在接近 300,但要求是 500 )。在阿里的 apm 上查看有慢事务,点进去以后感觉有点奇怪,除了核心业务代码之外还有很长时间不知道耗费在哪。

    慢事物

    阿里的技术人员说可能是因为 gc 的问题,观察 jvm 监控,发现垃圾回收时间确实有点长:

    Alt text

    fullgc 上耗时接近 4s,请教一下懂这个的大哥帮我分析分析哈。

    jvm 参数:-Xms30g -Xmx30g -Xmn20g

    jmap 查看如下图:

    Alt text

    12 replies    2018-01-19 12:38:13 +08:00
    anthow
        1
    anthow  
       Jan 16, 2018
    30g...
    jadec0der
        2
    jadec0der  
       Jan 16, 2018
    对你的内存来说,这个时间并不长,你应该想办法避免 FullGC。或者是控制 FullGC 的时候摘掉流量
    neoblackcap
        3
    neoblackcap  
       Jan 16, 2018
    30G 的内存是不是可以无脑推 JDK8 以上呢?毕竟 G1 我记得是用 CPU 换更低的回收时间
    feverzsj
        4
    feverzsj  
       Jan 16, 2018
    你虚拟机内存多大啊,一般这种大都是 virutal memory trashing
    honeycomb
        5
    honeycomb  
       Jan 16, 2018 via Android
    这么大的堆,试试 G1 ?
    coolcfan
        6
    coolcfan  
       Jan 17, 2018 via Android
    让 JVM 输出 GC Log,告诉你 Full GC 的原因
    pank
        7
    pank  
    OP
       Jan 17, 2018
    @jadec0der 谢谢回复,怎么可以避免 full gc 呢
    pank
        8
    pank  
    OP
       Jan 17, 2018
    @neoblackcap 我换了 G1 以后 fullgc 倒是没有了,youngGC 又上去了。。。,qps 还下去了。
    pank
        9
    pank  
    OP
       Jan 17, 2018
    @feverzsj 物理内存是 32g
    jadec0der
        10
    jadec0der  
       Jan 17, 2018
    @pank coolcfan 不是已经告诉你了吗
    neoblackcap
        11
    neoblackcap  
       Jan 17, 2018
    @pank 不想自己继续搞的话,上 Azul 的 Zing JVM 吧,4T 都能保持在 10ms 一下。不过啊,我觉得你可能还是打一下 snapshot 之类的看看堆里面到底是什么对象比较多,为什么那么容易触发 gc,是内存泄漏了,还是自己的程序有问题。确定程序没有问题再调优吧。
    要不然你程序有问题,上了 Zing JVM 也是用钱搞定而已
    kiddult
        12
    kiddult  
       Jan 19, 2018
    -Xmn 设置小一些,比如 1G 或者 2G,自己试验一下比较好,youngGC 多点问题不大,时间不会耗在这上面多少,太大了会导致 GC 时间太长

    QPS 先看看没有 GC 的那段时间是多少,一般和 GC 关系不应该太大才对,GC 占用程序的总时间比例很小的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5600 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 08:48 · PVG 16:48 · LAX 01:48 · JFK 04:48
    ♥ Do have faith in what you're doing.