JBoss崩溃并出现内存不足错误,我该如何防止这种情况?我修改了run.bat中的值,但结果是相同的。"- Xms1024 Xmx1024 PermGen512“
发布于 2010-03-03 12:01:46
您可能会有资源泄漏,在这种情况下,除了查找和消除泄漏之外,任何事情都只会延迟错误,而不是阻止它。jhat & -XX:+HeapDumpOnOutOfMemoryError将允许您在面向对象时检查堆中的对象,这是一个很好的开始,可以找出是否有泄漏&您的泄漏在哪里。
至于run.bat,您列出的选项可能不会以您预期的方式工作。我将确保指定"m"egabyte (千字节?千兆字节?mb在这里似乎最有可能)显式后缀,并在初始大小之前设置最大大小。所以,-Xmx1024m -Xms1024m -XX:MaxPermSize=512M。
顺便说一句,512兆字节对于永久的一代来说是一个很大的大小。也许你的意思是kb?您可以使用jstat或将-XX:-PrintGCDetails添加到您的run.bat,以查看实际使用了多少永久生成空间。
发布于 2010-11-04 07:27:04
您的问题可能与此处解释的问题有关:JVM: Solving OutOfMemoryError with less Memory
发布于 2013-06-11 15:40:35
在Jboss版本:Version: 5.0.0.GA中,当我在jboss中运行应用程序时,由于应用程序处理大量数据,我遇到了内存不足的错误。
要解决同样的问题,您可以优化代码,以便在处理过程中堆内存中的数据会更少,或者您可以增加JBOSS的堆内存:
JAVA_OPTS="-Xmx4096m -Xms4096m -XX:MaxNewSize=896m -XX:NewSize=896m
您可以根据需要更改内存值。
如果内存不足错误与permgen空间问题有关,则可以重新启动服务器以解决该问题,并且可以通过更改下面提到的变量的内存值来限制该问题:
-XX:MaxPermSize=256m
谢谢,Ankit Adlakha
https://stackoverflow.com/questions/2361867
复制相似问题