应用定时主动触发FGC问题排查

问题

通过gc日志发现应用定时每10个小时主动System.gc()触发一次fgc

排查

1、想通过arthas后台任务监听System.gc调用堆栈,但是10小时一次间隔太久。发现服务启动后会立刻主动触发一次,就服务重启时立马开始监听System.gc方法的调用堆栈,发现调用来源是sun.misc.GC$Daemon.run(GC.java:109)

2、还是看不到具体来源,基于10小时这个数字太特殊直接在网上搜索看到是cxf-core三方依赖会主动触发,查看服务确实引用cxf依赖,可以通过参数org.apache.cxf.JDKBugHacks.gcRequestLatency=true关闭固定Full GC的逻辑。

参考

https://blog.51cto.com/u_16099347/9753618

【Arthas问题排查集】谁调用了System.exit/System.gc? · Issue #20 · alibaba/arthas · GitHub

利用Arthas进行简单的故障注入_try to restart arthas-boot, select process 67745, -CSDN博客

记一次生产系统每隔10小时(36000000毫秒)固定进行一次Full GC排查思路_线上fullgc排查-CSDN博客

问题解决:Full GC固定10小时执行一次问题解决记录_指定时间fullgc-CSDN博客

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值