Linux

Tomcat 記憶體分配被自動更新移除

  • May 15, 2014

我託管了很多伺服器,供客戶和我們自己使用。所有這些伺服器都執行 Debian Stable。所有的伺服器都是虛擬伺服器。這是因為自動更新可能會殺死其中一台機器:只需將其替換為昨晚的快照,一切都會再次變得美好。

現在,其中一些伺服器執行 Tomcat 應用程序。這些 Tomcat 應用程序之一需要比預設 Tomcat 分配更多的記憶體。到目前為止,我更喜歡將記憶體分配添加到 /etc/init.d/tomcat7,但是,我們也有伺服器,它直接位於 catalina.sh 中。

今天遇到一個Tomcat停的問題後,發現記憶體分配突然沒了。我們想到了配置的自動更新,確實,cron-apt 日誌文件顯示,在 4 月底,有一次 tomcat 更新。所以我們認為這個更新很可能會覆蓋這兩個文件。

現在 Tomcat 在使用者 tomcat7(以及組 tomcat7)下執行。使用者將 /usr/share/tomcat7 作為主目錄,並且沒有互動式 shell 可以更好地分配記憶體)。

哪裡是導出 JAVA_OPTS 變數以供 tomcat7 使用者設置記憶體同時仍然防更新的正確位置?

通常JAVA_OPTS應該在setenv.sh位於bin你應該找到的tomcat中/usr/share/tomcat7/(CATALINA_HOME)。

如果此文件失去,您可以創建它(/usr/share/tomcat7/bin/setenv.sh)並設置 +x 位。

只需將其放入空文件中: JAVA_OPTS="$JAVA_OPTS <your params>"

該文件不會被更新覆蓋。

注意:$JAVA_OPTS如果要完全覆蓋任何以前的值,請刪除。

引用自:https://serverfault.com/questions/595325