Java 必知必会 第 9 篇
dealing with java lang outofmemoryerror permgen space error
如何处理 java.lang.outOfMemoryError PermGen space error
问题
最近,我在过运行我的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中查看。