【JVM】java.lang.OutOfMemoryError: Metaspace

背景

本项目有多个定时任务,且部署环境是预发布环境有一台服务器(16.50),生产环境有两台服务器(16.60、16.61),都注册在同一个xxl-job调度中心。
在这里插入图片描述
在这里插入图片描述
xxl-job配置的路由策略都是"轮询"
在这里插入图片描述
所以每次执行定时任务时,xxl-job都是先调度到预发布环境。

问题

之前一直都没有问题,但是05-21日例行查看昨日定时任务的执行情况,发现05-20日00:07:00定时任务[生成拓客本会话]调度成功,但执行时报错:java.lang.OutOfMemoryError: Metaspace
在这里插入图片描述
点击查看"执行日志"
在这里插入图片描述

分析

然后检查服务器日志,发现该定时任务只打印了start log,没有打印end log,但是也没有error log(说明这个报错是xxl-job抛出来的?)
然后看了其它的定时任务,全部都是执行成功的(也有执行时间在05-20日00:07:00之后的)。
然后手动再执行一下这个报错的定时任务,还是一样报这个错~
然后手动执行其它的定时任务,还是都执行成功~

解决

xxl-job配置的路由策略改为"最后一个",使得调度到生产环境的服务器,再手动执行该定时任务,发现执行成功了!
由此判断是预发布环境的问题,应该是哪个配置值不够大。

后续将问题反馈给运维同事,他给出的答案是这个定时任务用的metaspace比其它定时任务多,超出预发布环境对metaspace的配置了

然后我去预发布和生产服务器分别执行ps aux | grep service-im-statistic,发现预发布的进程中有配置-XX:MaxMetaspaceSize=128m,而生产环境没有这个配置,即不限制。
在这里插入图片描述

参考

java.lang.OutOfMemoryError: Metaspace 的解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java.lang.OutOfMemoryError: Java heap space是一种常见的OutOfMemoryError错误之一,表示Java堆内存空间不足。这种错误通常发生在程序申请的对象过多或者对象太大,而堆内存无法容纳它们时。当Java堆内存耗尽时,JVM会抛出这个异常。 当遇到Java.lang.OutOfMemoryError: Java heap space错误时,应用层的框架通常会有相应的处理策略。有的框架会忽略这个错误,有的会认为没有必要进行恢复而清理资源。然而,如果JVM发现内存不足时随意回收内存,或者JVM内部错误处理机制不健全导致代码跑飞,那么程序的状态将无法预知。在这种情况下,程序可能已经没有继续运行的必要,因此JVM会抛出java.lang.OutOfMemoryError异常。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [java.lang.OutOfMemoryError: Java heap space](https://blog.csdn.net/daxiong0816/article/details/125283031)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [java.lang.OutOfMemoryError: Java heap space的思考](https://blog.csdn.net/shuxiaohua/article/details/123385294)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值