我正在使用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.发布于 2013-02-19 13:28:29
java.lang.OutOfMemoryError
当Java Virtual Machine由于内存不足而无法分配对象,并且垃圾收集器无法提供更多的内存时抛出
。虚拟机可以构造OutOfMemoryError对象,就好像抑制被禁用和/或堆栈跟踪不可写一样。
检查使用new关键字创建的对象是否过多。要查找的位置包括循环、递归方法等。
发布于 2013-02-19 13:30:01
在用于向Java JVM分配内存的JAVA_OPTS环境变量中设置PermSize (如果已经设置),增加MaxPermSize
例如:
JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx1024m -XX:MaxPermSize=1024m -XX:PermSize=128m“
http://www.unidata.ucar.edu/projects/THREDDS/tech/tds4.3/reference/JavaOptsSummary.html
发布于 2014-04-28 12:16:04
据我所知,在NetBeans的默认glassfish配置中,它不会告诉服务器清理其未使用的类。尝试以下解决方案:
Glassfish PermGen out of Memory Errors
https://stackoverflow.com/questions/14950318
复制相似问题