I'm running Tomcat using the tomcat6 package from Ubuntu 9.04, which makes a daemon out of Tomcat using jsvc. I'd like to know the proper way to set Java heap options like -Xmx
for Tomcat. I'd like to put the configuration wherever is most stylistically correct, and wherever is least likely to be overwritten by Ubuntu package updates.
The options I see right now:
- Hard-code them somewhere in
/etc/init.d/tomcat6
. - Hard-code them somewhere in
/usr/share/tomcat6/bin/catalina.sh
. - Create a line in
/usr/share/tomcat6/bin/startup.sh
to set CATALINA_OPTS to have the desired flags, and then export CATALINA_OPTS as an environment variable. (This looks like it will get picked up bycatalina.sh
.)
The last option sounds like the best one, and it's advocated (without explanation of why) at Increasing Java's heapspace in Tomcat startup script. But I wanted to get a second opinion. Anyone want to confirm that there isn't a better way?
Best Answer
At least on Ubuntu 10.04, /etc/init.d/tomcat6 sources /etc/default/tomcat6 if it exists. That's where I put my overrides, and I believe it's generally the "approved" way to make such changes.