Java 正在删除生产服务器中的MaxMetaspaceSize(“-XX:MaxMetaspaceSize=1g”)参数,导致另一个错误:内存不足错误

Java 正在删除生产服务器中的MaxMetaspaceSize(“-XX:MaxMetaspaceSize=1g”)参数,导致另一个错误:内存不足错误,java,jvm,out-of-memory,wso2esb,metaspace,Java,Jvm,Out Of Memory,Wso2esb,Metaspace,在我的服务器中,我总共有16GB内存。JVM最大内存分配为12GB。在JVM中,我们运行的是WSO2 ESB。我们在JVM中设置了MaxMetaspaceSize=1g。这经常给我们带来以下错误 java.lang.OutOfMemoryError: Metaspace 然后,我们从JVM中删除了MaxMetaspaceSize=1g参数。然后,我们在JVM中出现了以下两个错误,并且我们在应用程序中也遇到了速度缓慢的问题 Caused by: java.lang.OutOfMemoryErro

在我的服务器中,我总共有16GB内存。JVM最大内存分配为12GB。在JVM中,我们运行的是WSO2 ESB。我们在JVM中设置了MaxMetaspaceSize=1g。这经常给我们带来以下错误

java.lang.OutOfMemoryError: Metaspace
然后,我们从JVM中删除了MaxMetaspaceSize=1g参数。然后,我们在JVM中出现了以下两个错误,并且我们在应用程序中也遇到了速度缓慢的问题

Caused by: java.lang.OutOfMemoryError: Java heap space
消除初始元空间错误的可能解决方案是什么?

遵循以下步骤:

从tomcat/bin打开catalina.sh

将JAVA_选项更改为

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1536m 
-Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"
重新启动你的雄猫


听起来好像还有别的事情在发生。查看的顶部答案,了解解决OOM问题的一些技巧。祝你好运应用程序中很可能存在类加载器泄漏。Java应用程序通常不会占用1GB的元空间。Pradeep,这个标题听起来好像以前没有问题,突然没有参数,你得到了OOM-你能编辑它吗?也就是说,您应该看看java进程占用的内存。你没有说你使用的是什么JDK版本,但是jcmd GC.heap_info是一个很好的获取快速信息的工具;jcmd VM.info更加详细,也非常有用。自JDK 11以来,我认为还有jcmd VM.metaspace。如果不考虑您在ESB中所做的操作,就很难给出这个问题的解决方案。您是否使用了脚本中介之类的高资源消耗中介?Hi Juraj:编辑了主题。希望现在更合适。阿鲁南:是的,有脚本中介,也有类中介。那怎么办?
JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1536m 
-Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"