增加热液空间


Answers:


142

您可以使用 :

-XX:MaxPermSize=128m

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

您还可以启用PermGen进行垃圾收集

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

通常在进行大量重新部署时会发生这种情况。我很惊讶您使用诸如索引之类的东西。使用virtualvm或jconsole监视Perm gen空间,并在预热索引后检查其水平是否稳定。

也许您应该考虑更改为另一个JVM,例如IBM JVM。它没有永久代,因此不受此问题的影响。


谢谢!!但是我必须在哪里写下呢?我猜这里只有一个文件:tomcat / conf我错了吗?
Blanca 2010年

1
对于tomcat,您可以创建环境变量CATALINA_OPTS,并将这些选项串联在一起作为值。启动脚本将在启动tomcat之前将它们添加到Java命令行中。无法通过tomcat配置完成此操作,因为此时已配置了JVM。
彼得·蒂勒曼斯

2
如果是FreeBSD,则将选项添加到/etc/rc.conf文件中。首先阅读tomcat启动脚本,以查看将要查找的确切参数。
Brian Knoblauch 2012年

3
在OpenJDK 7中,不建议使用CMSPermGenSweepingEnabled,而建议使用CMSClassUnloadingEnabled
Petr Gladkikh 2014年


3

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


3

如果您发现未使用内存设置,并且为了更改内存设置,我在\ bin文件夹中使用了tomcat7w或tomcat8w,然后将弹出以下内容:

雄猫监视器

单击Java选项卡并添加参数。重新启动tomcat


@JérémieBI没有足够的声誉点可以直接添加图像。
凯文STS

0

在类似Debian的发行版中,您可以将其设置为 /etc/default/tomcat[67]

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.