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

相关推荐
cike_y42 分钟前
Servlet原理&Mapping问题&ServletContext对象
java·安全·javaweb
lalala_lulu1 小时前
Jsp的四种作用域(超详细)
java·开发语言·hive
好奇的候选人面向对象2 小时前
企业微信接入自定义系统(Java+Vue3)实现共享文档创建与数据统计
java·状态模式·企业微信
橙露2 小时前
Nginx Location配置全解析:从基础到实战避坑
java·linux·服务器
无敌最俊朗@8 小时前
STL-vector面试剖析(面试复习4)
java·面试·职场和发展
PPPPickup8 小时前
easychat项目复盘---获取联系人列表,联系人详细,删除拉黑联系人
java·前端·javascript
LiamTuc8 小时前
Java构造函数
java·开发语言
长安er9 小时前
LeetCode 206/92/25 链表翻转问题-“盒子-标签-纸条模型”
java·数据结构·算法·leetcode·链表·链表翻转
菜鸟plus+9 小时前
N+1查询
java·服务器·数据库
我要添砖java9 小时前
《JAVAEE》网络编程-什么是网络?
java·网络·java-ee