首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

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

  •  
  •   pank · 2018-01-16 17:19:58 +08:00 · 5599 次点击
    这是一个创建于 690 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    慢事物

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

    Alt text

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

    jvm 参数:-Xms30g -Xmx30g -Xmn20g

    jmap 查看如下图:

    Alt text

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

    QPS 先看看没有 GC 的那段时间是多少,一般和 GC 关系不应该太大才对,GC 占用程序的总时间比例很小的
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1023 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 27ms · UTC 18:55 · PVG 02:55 · LAX 10:55 · JFK 13:55
    ♥ Do have faith in what you're doing.