简体   繁体   中英

How to change java_opts for tomcat when we run it as a windows service manually?

I'm manually running tomcat 6 as a windows service on the console. I need to change java_opts before starting it. How do I do that? Also, Is there a way I can see the logs dynamically?

I know this is an old thread but needed to correct some assumptions.

Just an FYI, Catalina.bat is not utilized when running tomcat as a service. here is the method to change the JAVA_OPTS for tomcat running as a windows service.

  1. Open Services and click on the Tomcat service. Make a note of the service name (most likely Tomcat6).
  2. cd to the Tomcat bin directory
  3. Run the command

    tomcat6w //ES//Tomcat6 (substitute your service name if different)

  4. Click on the Java tab

  5. Add the options (each on a new line) to the Java Options box and set the initial and max memory to 1536 and 2048

    -XX:MaxPermSize=256m -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true

  6. Click apply

  7. Click on the general tab and restart the service

To change the settings, create a file named setenv.bat for windows or setenv.sh for Linux with entry as below:

Windows:

set JAVA_OPTS="-Xms256m -Xmx512m"

Linux:

export JAVA_OPTS="-Xms256m -Xmx512m"

Simply put this(setenv.bat/setenv.sh) file in %CATALINA_HOME%\\bin\\ folder. Your command file (catalina.bat/catalina.sh) already has a statement as below:

Windows:

if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"

Linux:

if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then
 . "$CATALINA_BASE/bin/setenv.sh"

elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then . "$CATALINA_HOME/bin/setenv.sh" fi This will take care the rest.

You can set your JAVA_OPTS environment variable either manually via the command line prior to starting Tomcat:

set JAVA_OPTS=youropts

or you can edit catalina.bat with the values you want.

To alter the $JAVA_OPTS , you will probably need to edit the batch file you use to start Tomcat. I don't run Tomcat on Windows, but the $JAVA_OPTS appears in my catalina.sh inside the bin/ directory on my Linux installation.

As far as viewing logs dynamically on Windows, there are a couple of options I'm aware of.

  1. Download and install Cygwin, and then on the command-line, use tail -f logfilename like you would in Linux.
  2. Get the BearTail program and use that to follow your log files.

In windows, cut the quotes on the set command. Quotes are taken literally.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM