2010-01-27 79 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的啓動腳本。這些腳本可以設置不同的堆大小。是的,你需要出口。