
私は顧客用と自社用にかなりの数のサーバーをホストしています。これらのサーバーはすべて Debian Stable を実行しています。サーバーはすべて仮想サーバーです。これは、自動更新によってマシンの 1 つが停止した場合に備えて用意されています。昨夜のスナップショットで置き換えるだけで、すべてが元通りになります。
現在、これらのサーバーの一部は Tomcat アプリケーションを実行しています。これらの Tomcat アプリケーションの 1 つは、デフォルトの Tomcat 割り当てよりも多くのメモリを必要とします。これまでは、メモリ割り当てを /etc/init.d/tomcat7 に追加することを好んできましたが、catalina.sh に直接追加されているサーバーもありました。
今日、Tomcat が停止するという問題が発生した後、メモリ割り当てが突然消えたことに気付きました。設定された自動更新について考えましたが、確かに cron-apt ログ ファイルには 4 月末に Tomcat の更新があったことが示されていました。そのため、この更新によって両方のファイルが上書きされた可能性が高いと考えられます。
現在、Tomcat はユーザー tomcat7 (およびグループ tomcat7) で実行されます。このユーザーのホームは /usr/share/tomcat7 で、メモリ割り当てをより適切に配置するための対話型シェルはありません。
更新耐性を維持しながらメモリを設定するために、tomcat7 ユーザーの JAVA_OPTS 変数をエクスポートする適切な場所はどこですか?
答え1
通常は、Tomcat 内(CATALINA_HOME)に配置されているはずJAVA_OPTS
です。setenv.sh
bin
/usr/share/tomcat7/
このファイルが見つからない場合は、作成して (/usr/share/tomcat7/bin/setenv.sh)、+x ビットを設定できます。
空のファイルにこれを入れるだけです:
JAVA_OPTS="$JAVA_OPTS <your params>"
そのファイルは更新によって上書きされません。
注:$JAVA_OPTS
以前の値を完全に上書きする場合は削除してください。