java如何处理 java.lang.outOfMemoryError PermGen space error

标签 IT工具网 java

问题

最近,我在过运行我的web应用时得到:java.lang.OutOfMemoryError: PermGen space。 我的应用是一个典型的 Hibernate/JPA + IceFaces/JSF的应用.运行于Tomcat6.0和jdk1.6.我发布了多次以后,产生了这个错误。

是什么原因造成的,我如何避免?我怎样修复?

回答

解决的方案是当TomeCat启时,在jvm的的命令行添加参数

-XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled

你也可以停止tomcat的服务,直接进入Tomcat/bin目录,运行tomcat6w.exe.在Java的标签下,加好上面的参数。单击”OK”,重新启动Tomcat的服务.

如果系统返回错误,提示指定的服务不存在,你可以运行:

tomcat6w //ES//servicename

servicename的名字你可以在services.msc中查看。

stackoverflow链接: http://stackoverflow.com/questions/88235/dealing-with-java-lang-outofmemoryerror-permgen-space-error

相关文章:

JavaBean 到底是什么?

给3个 boolean 变量,当其中有2个或者2个以上为true才返回true

java - 如何使用拆分的 "getData"和 "MainActivity"将 XML feed 数据加载到用户界面中,而不卡住 UI

java - 如何测试一个数组是否包含指定的值

什么是JSONP

java - 如何检测java程序中的内存压力?

java - 运行时字符串是否被实习?

java - 如何在 Mac OS 中安装 Oracle WebLogic Server(JAR 文件)?

Java 如何避免相互引用的对象的 equals 和 hashCode 方法中的递归