0

我正在使用 java 开发一个应用程序,并且我使用 GlassFish Serve 3+ 作为我的容器,有时当我运行我的应用程序时遇到以下错误,我想知道是什么原因,

type Exception report

message

descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: PWC1243: Filter execution threw an exception
root cause

java.lang.OutOfMemoryError: PermGen space
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.1.2.2 logs.
4

3 回答 3

0

java.lang.OutOfMemoryError

当 Java 虚拟机因为内存不足而无法分配对象时抛出,并且垃圾收集器无法提供更多内存。虚拟机可以构造 OutOfMemoryError 对象,就好像禁用了抑制和/或堆栈跟踪不可写一样。

检查是否使用new关键字创建了太多对象。要查找的位置是循环、递归方法等。

于 2013-02-19T05:28:29.037 回答
0

在 JAVA_OPTS 环境变量中设置 PermSize [用于为 Java JVM 分配内存] 如果已经设置,则增加 MaxPermSize

例如:

JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx1024m -XX:MaxPermSize=1024m -XX:PermSize=128m"

有关 JAVA_OPTS 的更多详细信息在这里

http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.3/reference/JavaOptsSummary.html

于 2013-02-19T05:30:01.233 回答
0

我知道在 NetBeans 的默认 glassfish 配置中,它不会告诉服务器清理其未使用的类。尝试以下解决方案:

Glassfish PermGen 内存不足错误

于 2014-04-28T04:16:04.087 回答