增加permgen空间

我正在使用tomcat 6.0,当我索引(而不是当我启动tomcat)时,我有一个permgen空间错误。
我怎么能增加这个空间?

谢谢

您可以使用 :

-XX:MaxPermSize=128m 

增加空间。 但是这通常只会推迟不可避免的事情。

您也可以启用PermGen垃圾收集

 -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled 

通常这是在进行大量重新configuration时发生的。 我很惊讶你使用类似索引的东西。 使用virtualvm或jconsole监视Perm gen空间并在预热索引之后检查它是否处于closures状态。

也许你应该考虑改用另一个JVM,比如IBM JVM。 它没有永久的一代,对这个问题是免疫的。

对于tomcat,你可以使用增加permGem空间

  -XX:MaxPermSize=128m 

为此,您需要在tomcat / bin文件夹中创build(如果尚不存在)名为setenv.sh的文件,并在其中包含以下行

  export JAVA_OPTS="-XX:MaxPermSize=128m" 

参考: http : //wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat

您还可以通过IDE中的VM参数来增加它。 就我而言,我正在使用在Eclipse上运行的Tomcat v7.0。 为此,请双击您的服务器(Tomcat v7.0)。 点击“打开启动configuration”链接。 转到“参数”选项卡。 将-XX:MaxPermSize = 512m添加到VM参数列表。 点击“应用”,然后点击“确定”。 重新启动您的服务器。

如果您发现内存设置没有被使用,并且为了更改内存设置,我使用了\ bin文件夹中的tomcat7w或tomcat8w。然后popup如下内容:

tomcat监视器

单击Java选项卡并添加arguments.restart tomcat

在Debian-like发行版中,你在/etc/default/tomcat[67]设置了它/etc/default/tomcat[67]