当前位置: 首页>>技术教程>>正文


在Ubuntu 9.04下哪里可以为Tomcat 6设置Java堆选项(例如-Xmx)?

, ,

问题描述

我正在使用来自Ubuntu 9.04的tomcat6软件包运行Tomcat,该软件包使用jsvc从Tomcat中生成了一个守护进程。我想知道为Tomcat设置Java堆选项(如-Xmx)的正确方法。我想将配置放在样式上最正确的地方,以及最不可能被Ubuntu软件包更新覆盖的地方。

我现在看到的选项:

  • Hard-code它们在/etc/init.d/tomcat6中的某个位置。

  • Hard-code它们在/usr/share/tomcat6/bin/catalina.sh中的某个位置。

  • /usr/share/tomcat6/bin/startup.sh中创建一行以将CATALINA_OPTS设置为具有所需的标志,然后将CATALINA_OPTS导出为环境变量。 (看起来它将由catalina.sh拾取。)

最后一个选项听起来像是最好的,它是Increasing Java’s heapspace in Tomcat startup script提倡的(没有解释原因)。但是我想征求第二意见。任何人都想确认没有更好的方法吗?

最佳答案

至少在Ubuntu 10.04上,/etc /init.d /tomcat6源/etc /default /tomcat6(如果存在)。这就是我放置替代项的地方,我相信通常是进行此类更改的”approved”方法。

次佳答案

如果您在安装的bin目录中查找,将看到catalina.sh或.bat脚本。如果查看这些脚本,则会看到它们分别运行setenv.sh或setenv.bat脚本(如果存在)来设置环境变量。相关环境变量在catalina.sh/bat顶部的注释中进行了描述。要使用它们,例如,创建一个带有内容的文件$ CATALINA_HOME /bin /setenv.sh

export JAVA_OPTS="-server -Xmx512m"

对于Windows,您需要在setenv.bat中输入以下内容

set JAVA_OPTS=-server -Xmx768m

从tomcat 5.5到7,这都是正确的。原始answear https://stackoverflow.com/questions/286007/how-to-tune-tomcat-5-5-jvm-memory-settings-without-using-the-configuration-progra

第三种答案

寻找/etc/tomcat6/tomcat6.conf,它已经准备好了JAVA_OPTS之类,并等待您取消注释(但前提是您完全没有问题,我使用的是Centos,而不是Ubuntu)。

# System-wide configuration file for tomcat6 services
# This will be sourced by tomcat6 and any secondary service
# Values will be overridden by service-specific configuration
# files in /etc/sysconfig
#
# Use this one to change default values for all services
# Change the service specific ones to affect only one service
# (see, for instance, /etc/sysconfig/tomcat6)
#
...
#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7628.html,未经允许,请勿转载。