CATALINA_OPTSとJAVA_OPTSの違いとは?
ふと気になったので調べようとしたら、$CATALINA_HOME/bin/catalina.shのコメントに普通に説明が書かれていたことに気付いた。結論から言うと、stop時も使われるかどうかが異なる。以下はcatalina.shのコメントの抜粋。
- CATALINA_OPTS
Java runtime options used when the "start", or "run" command is executed.
- JAVA_OPTS
Java runtime options used when the "start", "stop", or "run" command is executed.
例えば-Xmxパラメータの指定などは、本来CATALINA_OPTSで十分と思われる。また、GCログの出力ファイル名に起動時の日時をつけたい場合なども、起動時だけ有効なCATALINA_OPTSを使うと簡単に行えてよい。例えば、$CATALINA_HOME/bin/setenv.shに以下のように設定する。
CATALINA_OPTS="-XX:+PrintGCDetails -Xloggc:$CATALINA_HOME/logs/gc.`date '+%Y-%m-%d-%H%M%S'`.log"
JAVA_OPTSに指定すると、停止用に起動されたJVM分の余計なファイルができるが、CATALINA_OPTSなら本来ほしいTomcat分のGCログだけにできるはず。$CATALINA_HOME/bin/setenv.shに書くのがきキレイかも。