如何解决元空间内存不足,甚至有20-30%或更多可用空间
将使用Java 8运行的Keycloak / JBoss服务器切换为G1GC,并将-XX:MaxMetaspaceSize
设置为256MB。很快它停止响应,并填充了OutOfMemory:Metaspace错误的日志。未启用GC日志。服务器与Dynatrace监视服务挂钩,该服务显示了大量可用的Metapsace。
191MB已使用。 在第二次分配的256MB内存中,有165MB已使用。
我了解到要释放元空间,GC已被调用并且无法释放足够的空间,因此它在GC之后仍在运行GC,因此理解为什么进程被卡住了。但是,我无法理解的是为什么即使有大量空闲空间,进程也耗尽了元空间。没有提供其他JVM参数(xms / XMX除外)。所有堆内存部分都具有足够的可用空间。是否在尝试在元空间中分配60MB以上的空间?这是唯一可能的原因吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。