Tomcat 7:如何正确设置初始堆大小?
我试图通过在catalina.sh中添加以下行来调整tomcat 7(CentOS,java -version:1.6.0_25-b06)实例的初始堆大小:
export CATALINA_OPTS="-Xms=512M -Xmx=1024M"
启动tomcat失败并将以下消息logging到catalina.out:
Invalid initial heap size: -Xms=512m Could not create the Java virtual machine.
这些选项有什么问题?
你不能使用=
。 简单地使用这个:
export CATALINA_OPTS="-Xms512M -Xmx1024M"
使用以下命令正确地为tomcat7(linux发行版)增加java堆大小:
echo 'export CATALINA_OPTS="-Xms512M -Xmx1024M"' > /usr/share/tomcat7/bin/setenv.sh
您可能不需要导出 ,只需在catalina.sh中添加以下行:
CATALINA_OPTS="-Xms512M -Xmx1024M"
setenv.sh更好,因为您可以轻松地将这种configuration从一台机器移植到另一台机器,或从一个Tomcat版本移植到另一台。 catalina.sh从一个Tomcat版本改变到另一个版本。 但是你可以使用任何版本的Tomcat保持你的setenv.sh不变。
另一个优点是,如果将其添加到备份或版本控制系统中,则更容易跟踪更改的历史logging。 如果你看看你setenv.sh沿着历史的变化,你会看到只有你自己的变化。 而如果您使用catalina.sh,则不仅会看到您的更改,还会看到每个较新版本的Tomcat所带来的更改。
注意Debian发行版的变化! 我试图改变我的Debian 7中的CATALINA_OPTS
,以及那个tomcat没有启动的结果。 因此我通过改变属性JAVA_OPTS
来代替CATALINA_OPTS
来解决这个问题,就像这样
export JAVA_OPTS="-Xms512M -Xmx1024M"
刚刚遇到这个,我已经实施了Nathan的解决scheme:
添加行(根据需要更改值):
export JAVA_OPTS="-Xms512M -Xmx1024M"
到/usr/share/tomcat7/bin/setenv.sh
如果该文件不存在,然后创build它
chown root:root it chmod 755 it
然后重新启动tomcat并检查它
ps aux | grep logging
哪个应该拿起实例并显示java parms
它甚至不使用“导出”关键字。 这是我在我的setenv.sh(/usr/share/tomcat7/bin/setenv.sh),它的工作原理。
OS:14.04.1-Ubuntu服务器版本:Apache Tomcat / 7.0.52(Ubuntu)服务器内置:Jun 30 2016 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"
花了好多时间在这之后。 我发现这是setenv.bat必须的样子。 没有“字符被接受在batch file中。
设置CATALINA_OPTS = -Xms512m -Xmx1024m -XX:PermSize = 128m -XX:MaxPermSize = 768m
回声你好“%CATALINA_OPTS%”
转到“Tomcat目录”/ bin目录
如果Linux然后创buildsetenv.sh否则如果Windows然后创buildsetenv.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/