我在 FreeBSD 上运行 Tomcat 7。我手动从
/usr/local/etc/rc.d
通过执行
./tomcat7 onestart
我需要增加在 Tomcat 中运行的一个应用程序的堆大小。我添加了
export JAVA_OPTS="-Xmx3000m"
到
/usr/local/apache-tomcat-7.0/bin/catalina.sh
但这没有效果。部署总是因内存不足而失败。我编辑了 setenv.sh,但这也没有效果。对于 Ubuntu 10.04 上的 Tomcat 6,这些设置有效。
我究竟做错了什么?
答案1
尝试查看/usr/local/etc/rc.d/tomcat7
。可能有一个选项可以设置直接传递给 Java 的堆大小。
这是我从 $TOMCAT/bin/service.sh 复制的 Tomcat 初始化脚本示例。由于我对其进行了大量修改,因此它看起来可能与您的脚本不完全相同,但它应该可以让您了解您可以做什么。
JAVA_HOME=/usr/java/default
CATALINA_HOME=/opt/tomcat-prod
DAEMON_HOME=/opt/tomcat-prod
TOMCAT_USER=svcitstomcat
PID_FILE=/var/run/jsvc-tomcatprod.pid
CATALINA_BASE=/opt/tomcat-prod
CLASSPATH=$JAVA_HOME/lib/tools.jar:\
$CATALINA_HOME/bin/commons-daemon.jar:\
$CATALINA_HOME/bin/commons-logging-api.jar:\
$CATALINA_HOME/bin/bootstrap.jar
LOGS=$CATALINA_HOME/logs
JAVA_OPTS=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"\
"- Djava.util.logging.config.file="$CATALINA_HOME/conf/logging.properties"
case "$1" in
start)
#
# Start Tomcat
#
$DAEMON_HOME/bin/jsvc \
-Xms1024M -Xmx1024M \
$JAVA_OPTS \
-user $TOMCAT_USER \
-home $JAVA_HOME \
-Dcatalina.home=$CATALINA_HOME \
-Dcatalina.base=$CATALINA_BASE \
-Djava.io.tmpdir=$TMP_DIR \