Tomcat 7:如何正确设置初始堆大小?

时间:2011-08-01 11:01:27

标签: java linux tomcat7 heap-memory

我试图通过将以下行添加到catalina.sh来调整tomcat 7(CentOS,java -version:1.6.0_25-b06)实例的初始堆大小:

export CATALINA_OPTS="-Xms=512M -Xmx=1024M"

启动tomcat失败并将以下消息记录到catalina.out:

Invalid initial heap size: -Xms=512m
Could not create the Java virtual machine.

这些选项有什么问题?

10 个答案:

答案 0 :(得分:108)

您不得使用=。只需使用:

export CATALINA_OPTS="-Xms512M -Xmx1024M"

答案 1 :(得分:26)

使用以下命令正确增加tomcat7(linux发行版)的java堆大小:

echo 'export CATALINA_OPTS="-Xms512M -Xmx1024M"' > /usr/share/tomcat7/bin/setenv.sh

答案 2 :(得分:10)

您可能无需导出,只需在 catalina.sh 中添加此行:

CATALINA_OPTS="-Xms512M -Xmx1024M"

答案 3 :(得分:3)

setenv.sh更好,因为您可以轻松地将此类配置从一台机器移植到另一台机器,或从一个Tomcat版本移植到另一台机器。 catalina.sh从一个版本的Tomcat变为另一个版本。但是你可以使用任何版本的Tomcat保持你的setenv.sh不变。

另一个优点是,如果将更改添加到备份或版本控制系统,则更容易跟踪更改的历史记录。如果您看看setenv.sh在历史记录中的变化,您将只看到自己的更改。然而,如果您使用catalina.sh,您将不仅会看到您的更改,而且还会看到每个较新版本的Tomcat附带的更改。

答案 4 :(得分:1)

小心改变Debian发行版!我试图在我的Debian 7中更改CATALINA_OPTS以及tomcat不再启动的结果。因此,我通过更改属性JAVA_OPTS代替CATALINA_OPTS来解决此问题,就像这样

export JAVA_OPTS="-Xms512M -Xmx1024M"

答案 5 :(得分:1)

刚刚遇到这个,我已经实施了Nathan的解决方案:

添加行(根据需要更改值):

export JAVA_OPTS="-Xms512M -Xmx1024M"

到/usr/share/tomcat7/bin/setenv.sh

如果该文件不存在,则创建它并

chown root:root it
chmod 755 it

然后重启tomcat和 检查

ps aux | grep logging

应该只选择实例并显示java parms

答案 6 :(得分:1)

即使不使用'export'关键字也能正常工作。这就是我在setenv.sh(/usr/share/tomcat7/bin/setenv.sh)中所拥有的功能。

操作系统:14.04.1-Ubuntu 服务器版本:Apache Tomcat / 7.0.52(Ubuntu) 服务器内置:2016年6月30日01:59:37 服务器编号:7.0.52.0

JAVA_OPTS="-Dorg.apache.catalina.security.SecurityListener.UMASK=`umask` -server -Xms6G -Xmx6G -Xmn1400m -XX:HeapDumpPath=/Some/logs/ -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8 -XX:+UseCompressedOops -Dcom.sun.management.jmxremote.port=8181 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Dserver.name=$HOSTNAME"

答案 7 :(得分:1)

花了很多时间在这上面。我发现这就是setenv.bat必须看起来的样子。没有“批处理文件中接受字符。

设置CATALINA_OPTS = -Xms512m -Xmx1024m -XX:PermSize = 128m -XX:MaxPermSize = 768m

echo hello“%CATALINA_OPTS%”

答案 8 :(得分:0)

转到" Tomcat目录" / bin目录

如果Linux然后创建setenv.sh,如果Windows然后创建setenv.bat

setenv。*文件的内容:

export CATALINA_OPTS="$CATALINA_OPTS -Xms512m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx8192m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"

之后重新启动tomcat并使用新的参数。

解释和完整信息在这里

http://crunchify.com/how-to-change-jvm-heap-setting-xms-xmx-of-tomcat/

答案 9 :(得分:0)

如果在您的centos 7计算机中不起作用“ export CATALINA_OPTS =“-Xms512M -Xmx1024M””,则可以从vi /etc/systemd/system/tomcat.service文件中更改堆内存,然后此值在tomcat中显示为ps -ef | grep tomcat的帮助。