java.lang.OutOfMemoryError - “org.apache.jasper.compiler.JspRuntimeContext”的一个实例

时间:2014-06-17 10:44:22

标签: java jboss jvm out-of-memory hprof

我收到java.lang.OutOfMemoryError: PermGen space,在分析hprof后,我发现了

One instance of "org.apache.jasper.compiler.JspRuntimeContext" loaded by   
"org.jboss.mx.loading.UnifiedClassLoader3 @ 0x772dd7f80" 
occupies 8,30,89,712 (29.32%) bytes. 
The memory is accumulated in one instance of 
"java.util.concurrent.ConcurrentHashMap$Segment[]" loaded by
"<system class loader>"

使用Jboss服务器。

JVM HeapDump: The memory is accumulated in one instance of "java.util.concurrent.ConcurrentHashMap$Segment找到一个类似的人 (但与tomcat有关)

这个问题的原因/解决方案是什么?告诉我是否应该提供更多信息。

2 个答案:

答案 0 :(得分:1)

通过使用eclipse IDE,您可以更改VM参数

double click on the server > open Lunch Configuration > Arguments > VM Arguments

并在VM Arguments字段中的两行后面附加

-Xms256m -Xmx1024m -XX:+DisableExplicitGC -Dcom.sun.management.jmxremote
-XX:PermSize=256m -XX:MaxPermSize=512m

它一定会解决你的问题

答案 1 :(得分:1)

如果您在辅助Eclipse应用程序中遇到疑问错误,则在ini中添加-XX:MaxPermSize = 512m将不会有帮助。您需要进入调试或运行configuration-&gt;参数并在VM参数中添加该部分。我还增加了其他内存限制:

-Dosgi.requiredJavaVersion = 1.5 -Xms120m -Xmx2048m -XX:MaxPermSize = 1024m