カスタムメモリパラメータをTomcat8
サービスに追加するにはどうすればよいですか?
次のファイルを作成しました。
-rwxr-xr-x 1 root root 211 Jun 13 10:51 setenv.sh
コンテンツ:
#! /bin/sh
export CATALINA_OPTS="$CATALINA_OPTS -Xmx1024m"
export CATALINA_OPTS="$CATALINA_OPTS -Xms512m"
再起動後:
ps aux | grep Java
結果:定義したメモリオプションが表示されません。のみ:... -Xmx128m
しかし、なぜ? setenv.shが正しくロードされているかどうか、またはその理由を確認するにはどうすればよいですか?
解決策:間違ったディレクトリを取得しました。 setenv.shはここに配置する必要があります:
/usr/share/Tomcat8/bin
質問にはTomcat8
が記載されているので、これはDebianパッケージを参照していると思います。私はこの問題に対するDebianに適した解決策を探していましたが、起動時に任意のシステムプロパティをTomcatに追加する別の方法を発見しました。
Tomcatの標準Debianパッケージは、以下の下にデフォルトの設定ファイルも作成します。
/etc/default/tomcatX
(XはTomcatのバージョン番号です)。
システムプロパティおよびその他のJVM起動パラメータをJava_OPTS
に追加できます。
# You may pass JVM startup parameters to Java here. If unset, the default
# options will be: -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
#
# Use "-XX:+UseConcMarkSweepGC" to enable the CMS garbage collector (improved
# response time). If you use that option and you run Tomcat on a machine with
# exactly one CPU chip that contains one or two cores, you should also add
# the "-XX:+CMSIncrementalMode" option.
Java_OPTS="-Djava.awt.headless=true -XX:+UseConcMarkSweepGC"
ちなみに、これは、システムに複数がインストールされている場合、またはTomcatを実行しているユーザーを変更できる場合に、異なるJVMを指定できる構成ファイルでもあります。