2010-01-27 44 views
4

我在Red Hat盒子上运行多个tomcat,我想为它们配置不同的堆大小(有些实例使用更多的内存)。Tomcat 6堆大小 - 这是正确的吗?

我可以设置堆大小最小/最大BT输入下面的catalina.sh文件:

CATALINA_OPTS = “ - Xms64m -Xmx256m”

我是否需要添加 '出口'?即导出CATALINA_OPTS =“ - Xms64m -Xmx256m”

回答

13

最佳做法是将环境变量的设置放入bin文件夹中名为setenv.sh/.bat的文件中。

catalina.sh脚本具有调用此脚本的逻辑(如果存在)。为什么这个建议

的原因是因为它使需要为您安装便携式环境变量的设置:您可以轻松地setenv.sh复制到其他Tomcat的安装,可以升级的Tomcat到较新的版本(这可能会覆盖catalina.sh),但仍有你现有的setenv.sh

关于如何设置内部setenv.sh堆大小的一个例子:

export JAVA_OPTS='-Xmx784M` 
+13

请注意'CATALINA_OPTS'比'JAVA_OPTS'更好。前者仅在实际启动Tomcat实例时使用。 'JAVA_OPTS'还用于启动仅与Tomcat交互的JVM(例如,用于将关闭消息发送到正在运行的Tomcat实例的JVM实例)。这些JVM通常不需要太多内存。 – 2010-01-27 12:02:56

+0

哇,伟大的一点Joachim - 谢谢你。我将不得不现在更新我们所有的脚本:) – 2010-01-27 15:00:09

+0

@mattb您是否介意更新您的答案以适应Joachim Sauer的评论? – 2014-08-25 10:17:04

1

如果您添加到在Tomcat安装任何东西,它会影响到计算机上运行的所有实例。

我想你想单独设置JAVA_OPTS,在单独的脚本中,然后每个脚本都调用Tomcat的启动脚本。这些脚本可以设置不同的堆大小。是的,你需要出口。