美文网首页
真实案例之-MetaSpace分配过小导致JVM进程跑飞

真实案例之-MetaSpace分配过小导致JVM进程跑飞

作者: YDDMAX_Y | 来源:发表于2018-06-26 20:34 被阅读0次

    在该例中使用的是G1垃圾回收器。

    现象

    9点51分full gc出现,9点57分JVM进程跑飞。
    各项指标如下:
    9点51分,full gc出现而且很高。不知道什么原因,9点51分之后的gc监控没了,但是gc日志直到9点57一直都是有的。


    image.png
    GC耗时

    从gc日志可以看出,可以看出是因为metaspace满了触发full gc


    gc日志 image.png

    9点51因为full gc频率高,流量受影响。


    image.png

    9点51分及之后的cpu并没有因为gc频率的升高而升高。所以:gc频率高,cpu使用率并不一定高。


    image.png

    9点51分到9点57分之间,load也没变化,所以:gc频率高,load不一定高。
    9点57分的load之所以这么高是因为什么呢?


    image.png

    线程状态:


    image.png

    解决

    metaspace的配置如下:
    -XX:MaxMetaspaceSize=268435456(256K)
    -XX:MetaspaceSize=268435456(256K)
    通过监控发现,近几个月metaspace的空间在240-250M之间,本来metaspace就快用完了,只是今天爆发了而已。
    增大metaspace到512M,问题解决!

    相关文章

      网友评论

          本文标题:真实案例之-MetaSpace分配过小导致JVM进程跑飞

          本文链接:https://www.haomeiwen.com/subject/zwdmyftx.html