xxljob 内存溢出

记一次 xxljob内存溢出排查
执行任务提示内存溢出, 启动xxljob 关闭所有任务 , 内存还是一路狂飙
后面发现xxljob jobhander 下的 callbacklog 文件有数据, 在被读写,
callbacklog :
原来是执行器终止的时候,会批量获取回调队列里的回调入参集合,如果回调入参集合不为空就会记录当前任务执行日志并生成日志文件。如果发生异常则会将回调入参集合序列号为byte[],然后在日志根目录下创建callbacklog目录,生成回调失败记录文件xxl-job-callback-{x}.log,将byte[]写入回调失败日志中进行保存。最后新建一个回调重试守护线程,每隔30秒执行一次。当执行器启动时,守护线程会去读失败日志将byte[]转为回调入参对象集合,如果没问题的话就会删除日志文件并重新执行回调方法。
所以问题就是,执行任务出现异常时将回调入参集合转为byte[]保存到回调日志中,后面再拿到回调日志转回byte[]的时候报错了。
于是,我就找到这个路径下的错误日志,全部delete掉,可是重启又出现.
最终把其他注册服务先停止, 再停xxljob后 删除callbacklog成功, 启动后, 内存正常

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值