yum でインストールした Tomcat に JVM オプションを設定
Tomcat に JVM オプションを設定しようと思ったら、
通常、catalina.sh などを編集することになると思う。
ただ、yum で Tomcat をインストールした場合、
この catalina.sh は作成されず、Tomcat はデーモンとして登録される。
こんなときに、JVM オプションを設定しなければ
ならなくなったらどうしたらいいのか…。
いろいろとディレクトリをあさってみたところ、
tomcat.conf に CATALINA_OPTS というエントリを追記することで、
JVM オプションを追加できそうな雰囲気。
$ cat /usr/share/tomcat/conf/tomcat.conf # System-wide configuration file for tomcat services # This will be sourced by tomcat and any secondary service # Values will be overridden by service-specific configuration # files in /etc/sysconfig # # Use this one to change default values for all services # Change the service specific ones to affect only one service # (see, for instance, /etc/sysconfig/tomcat) # # Where your java installation lives JAVA_HOME="/usr/lib/jvm/jre" # Where your tomcat installation lives CATALINA_BASE="/usr/share/tomcat" CATALINA_HOME="/usr/share/tomcat" JASPER_HOME="/usr/share/tomcat" CATALINA_TMPDIR="/var/cache/tomcat/temp" # You can pass some parameters to java here if you wish to #JAVA_OPTS="-Xminf0.1 -Xmaxf0.3" # Use JAVA_OPTS to set java.library.path for libtcnative.so #JAVA_OPTS="-Djava.library.path=/usr/lib64" # What user should run tomcat TOMCAT_USER="tomcat" # You can change your tomcat locale here #LANG="en_US" # Run tomcat under the Java Security Manager SECURITY_MANAGER="false" # Time to wait in seconds, before killing process SHUTDOWN_WAIT="30" # Whether to annoy the user with "attempting to shut down" messages or not SHUTDOWN_VERBOSE="false" # Set the TOMCAT_PID location CATALINA_PID="/var/run/tomcat.pid" # Connector port is 8080 for this tomcat instance #CONNECTOR_PORT="8080" # If you wish to further customize your tomcat environment, # put your own definitions here # (i.e. LD_LIBRARY_PATH for some jdbc drivers)
試しに末尾へ、以下を追加してみる。
CATALINA_OPTS="-Xms512M -Xmx1024M -XX:PermSize=512M -XX:MaxPermSize=1024M"
$ sudo vi /usr/share/tomcat/conf/tomcat.conf ... # If you wish to further customize your tomcat environment, # put your own definitions here # (i.e. LD_LIBRARY_PATH for some jdbc drivers) ## JVM Options CATALINA_OPTS="-Xms512M -Xmx1024M -XX:PermSize=512M -XX:MaxPermSize=1024M"
最後に Tomcat を再起動して、
ただしく設定されているかどうかを確認。
$ sudo systemctl restart tomcat $ ps aux | grep catalina tomcat 2466 134 9.4 3170640 115440 ? Sl 17:20 0:04 java -Xms512M -Xmx1024M -XX:PermSize=512M -XX:MaxPermSize=1024M -classpath /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat/temp -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start yo1000 2480 0.0 0.0 112656 968 pts/1 S+ 17:20 0:00 grep --color=auto catalina
よさげ。