Java OutOfMemoryError:超出GC开销限制
我似乎得到了这个例外:Java OutOfMemoryError:超出GC开销限制,java,playframework,Java,Playframework,我似乎得到了这个例外: Execution exception InvocationTargetException occured : null play.exceptions.JavaExecutionException at play.mvc.ActionInvoker.invoke(ActionInvoker.java:239) at Invocation.HTTP Request(Play!) Caused by: java.lang.reflect.Invocatio
Execution exception
InvocationTargetException occured : null
play.exceptions.JavaExecutionException
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:239)
at Invocation.HTTP Request(Play!)
Caused by: java.lang.reflect.InvocationTargetException
at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:557)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:508)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:484)
at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:479)
at play.mvc.ActionInvoker.invoke(ActionInvoker.java:161)
... 1 more
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.Arrays.copyOf(Arrays.java:2367)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:130)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:114)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:415)
at java.lang.StringBuilder.append(StringBuilder.java:132)
at play.data.binding.Unbinder.unBind(Unbinder.java:106)
at play.data.binding.Unbinder.unBind(Unbinder.java:63)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:63)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:63)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:63)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:63)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:63)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:63)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:63)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
at play.data.binding.Unbinder.unBind(Unbinder.java:63)
at play.data.binding.Unbinder.unBind(Unbinder.java:110)
我的代码是:
"".equals(question.uniqueID)
其中问题是一个模型,唯一ID是一个字符串。我正在使用play framework 1.2.6,这完全出乎意料。所以是要求我写更多的文字,所以我正在努力
我的代码是:“.equals(question.uniqueID),其中question是一个模型,uniqueID是一个字符串
这与堆栈跟踪不匹配,所以我不认为这是OOME的原因
我正在使用play framework 1.2.6,这完全出乎意料
在任何系统中,你都可以在内存不足的情况下运行,特别是在像Play这样的高级系统中,所以这并非意外。首先,我会尝试将最大堆大小增加到至少1GB,如果不是16GB的话(如果有那么多的话)启动程序时增加permgen空间-XX:MaxPermSize,以便消耗更多内存这看起来更像是一个play framework错误,而不是实际的堆空间问题。这个问题描述了错误的含义:是的,它与堆栈跟踪不匹配,但它发生在那一行上-当我调试并执行步骤时,这是它冻结10秒,然后给我一个例外。这是我注释掉的唯一一点,它再次开始工作。事实上,这当然是由play愚蠢的字节码增强引起的。@twihoX你能再试试堆吗?