Metaspace耗尽导致OOM问题

一、问题背景

生产检测到两台服务器内存仅剩50%,且CPU飙升到60%,产生告警。现网用户反映系统响应缓慢。

二、定位问题

1:通过主机名定位程序日志

2:查看全部应用日志并下载到本地

搜索Error关键字,发现是Metaspace空间不足,引起的OutOfMemory异常。Metaspace元空间是Java虚拟机中用于存放被加载的class数据,由于创建过多对象,导致元空间不足,引发OOM。

Caused by :java.lang.OutOfMemoryError:Metaspace

三、解决方案

1:根据错误日志信息,发现存在线程池嵌套线程池问题,所以调整线程池的排队队列主线程池从500改为400,从线程池队列从100改为50。

2:调整MaxMetaspaceSize大小,从原来512M调整到1024M,后续持续观察内存健康状况,适当动态调整。

-XX:MaxMetaspaceSize=1024M

相关推荐
Flittly3 分钟前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
小兔崽子去哪了9 分钟前
Java 生成二维码解决方案
java·后端
人活一口气5 小时前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
NE_STOP6 小时前
Vibe Coding -- 完整项目案例实操
java
荣码7 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
SimonKing7 小时前
Google第三方授权登录
java·后端·程序员
明月光8187 小时前
从一行 @Builder 说起:重新拾起 Java 的 Lombok、注解与 Builder 模式
java
考虑考虑16 小时前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯17 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
青石路20 小时前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java