我正在使用tomcat 6.0,当我正在索引时(而不是在我启动tomcat时),我有一个permgen空间错误。
我怎么能增加那个空间?
由于
答案 0 :(得分:142)
您可以使用:
-XX:MaxPermSize=128m
增加空间。但这通常只会推迟不可避免的事情。
您还可以启用PermGen进行垃圾回收
-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
通常在进行大量重新部署时会发生这种情况。我很惊讶你使用像索引这样的东西。使用virtualvm或jconsole来监控Perm gen空间,并在预热索引后检查它的水平。
也许你应该考虑改用另一个JVM,比如IBM JVM。它没有永久生成,并且不受此问题的影响。
答案 1 :(得分:11)
对于tomcat,您可以使用
增加permGem空间 -XX:MaxPermSize=128m
为此,您需要在tomcat / bin文件夹中创建一个名为setenv.sh的文件(如果尚未存在),并在其中包含以下行
export JAVA_OPTS="-XX:MaxPermSize=128m"
参考:http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat
答案 2 :(得分:3)
您还可以通过IDE中的VM参数增加它。就我而言,我使用的是运行在Eclipse上的Tomcat v7.0。为此,请双击您的服务器(Tomcat v7.0)。点击“打开启动配置”'链接。转到'参数'标签。将-XX:MaxPermSize = 512m添加到VM参数列表中。点击“应用”#39;然后' OK'。重启你的服务器。
答案 3 :(得分:2)
如果您发现内存设置没有被使用,并且为了更改内存设置,我在\ bin文件夹中使用了tomcat7w或tomcat8w。然后会弹出以下内容:
单击Java选项卡并添加arguments.restart tomcat
答案 4 :(得分:0)
在类似Debian的发行版中,您可以在/etc/default/tomcat[67]