我如何防止这种情况发生?
Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: PermGen space
Exception in thread "main" java.lang.OutOfMemoryError: PermGen space
Exception in thread "Thread-2" java.lang.OutOfMemoryError: PermGen space例如,如果我经常重新加载datatable页面,就会发生这种情况。我知道垃圾收集器设置有问题..
我正在使用Eclipse Java EE IDE、JSF2、richfaces4
发布于 2011-05-29 02:06:14
这是Tomcat特有的。这是一个相当糟糕的热发布/热部署程序,而且它还受到内存泄漏的困扰。我建议在Eclipse中通过服务器配置屏幕关闭自动升级,并在您想要反映保存的更改时手动重新启动Tomcat。如果你只有一个项目,重启应该不会花太多时间。
例如,Glassfish要健壮得多(也更快!)当涉及到热发布时。关于如何安装Glassfish并将其集成到Eclipse中以进行JSF2.0开发,请查看this tutorial。
发布于 2013-08-30 18:20:41
您必须为tomcat JVM的PermGenSpace分配更多的空间。
这可以使用JVM参数来完成:-XX:MaxPermSize=128m
缺省情况下,PermGen空间是64M (并且它包含所有已编译的类,所以如果您的类路径中有很多jar (类),那么您确实可以填满这个空间)。
另外,您可以使用JVisualVM监视PermGen空间的大小,甚至可以使用YourKit Java Profiler检查其内容
发布于 2011-06-14 13:34:31
如果你在你的webapps文件夹中有更多的项目,这个异常会出现在.Remove某些项目中,这个异常不会出现。
https://stackoverflow.com/questions/6163432
复制相似问题