【问题标题】:Tomcat 6 Heap Size - Is this correct?Tomcat 6 堆大小 - 这是正确的吗?
【发布时间】:2011-01-09 18:49:57
【问题描述】:

我在 Red Hat 机器上运行多个 tomcat,我想为每个配置单独的堆大小(某些实例使用更多内存)。

我可以在 catalina.sh 文件中输入以下内容来设置堆大小 min/max bt:

CATALINA_OPTS="-Xms64m -Xmx256m"

我需要添加“导出”吗?即导出 CATALINA_OPTS="-Xms64m -Xmx256m"

【问题讨论】:

    标签: java tomcat6 redhat heap-memory catalina.out


    【解决方案1】:

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

    catalina.sh 脚本具有调用该脚本的逻辑(如果存在)。

    推荐这样做的原因是因为它使您的安装所需的环境变量设置可移植:您可以轻松地将setenv.sh复制到其他Tomcat安装,您可以将Tomcat升级到更新版本(可能会覆盖catalina.sh ) 但仍有现有的setenv.sh

    关于如何在setenv.sh 中设置堆大小的示例:

    export JAVA_OPTS='-Xmx784M` 
    

    【讨论】:

    • 请注意,CATALINA_OPTSJAVA_OPTS 更好。前者仅在实际启动 Tomcat 实例时使用。 JAVA_OPTS 还用于启动仅与 Tomcat 交互的 JVM(例如,用于将关闭消息发送到正在运行的 Tomcat 实例的 JVM 实例)。那些 JVM 通常不需要那么多内存。
    • 哇,Joachim 非常棒 - 谢谢。我现在必须去更新我们所有的脚本 :)
    • @mattb 你介意更新你的答案以适应 Joachim Sauer 的评论吗?
    【解决方案2】:

    如果您将它添加到 Tomcat 安装中的任何内容,它将影响该机器上运行的所有实例。

    我认为您想在单独的脚本中单独设置 JAVA_OPTS,然后每个脚本都会调用 Tomcat 的启动脚本。脚本可以设置不同的堆大小。是的,您需要导出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-12
      • 2014-02-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-24
      • 2012-09-19
      • 1970-01-01
      相关资源
      最近更新 更多