元空间内存不足,甚至有20-30%或更多可用空间

问题描述

将使用Java 8运行的Keycloak / JBoss服务器切换为G1GC,并将-XX:MaxMetaspaceSize设置为256MB。很快它停止响应,并填充了OutOfMemory:Metaspace错误的日志。未启用GC日志。服务器与Dynatrace监视服务挂钩,该服务显示了大量可用的Metapsace。

一次分配的256MB中的

191MB已使用。 在第二次分配的256MB内存中,有165MB已使用。

我了解到要释放元空间,GC已被调用并且无法释放足够的空间,因此它在GC之后仍在运行GC,因此理解为什么进程被卡住了。但是,我无法理解的是为什么即使有大量空闲空间,进程也耗尽了元空间。没有提供其他JVM参数(xms / XMX除外)。所有堆内存部分都具有足够的可用空间。是否在尝试在元空间中分配60MB以上的空间?这是唯一可能的原因吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...