作为Windows服务运行时,如何增加Tomcat 7上的内存?

Fra*_*nky 36 java windows tomcat tomcat7

我正在尝试将Tomcat 7作为Windows服务(XP和Windows 7)运行.

我在catalina.bat中看到了设置-Xmx和-Xms jvm args的地方,但是在使用$ CATALINA_HOME/bin/service.bat install service-name时我不知道该怎么做.我环顾四周,但我能找到的最好的是我需要更新Windows注册表项,但我不确定要编辑哪一个.

我希望有一种更简单的方法,是吗?

更新:我没有使用Windows安装程序主要是因为我在同一台计算机上运行多个tomcat实例但是有不同的端口(原因我不想进入这里).如果我可以使用具有不同端口的多个实例的安装程序,那么我想知道如何在没有安装程序附带的UI工具的情况下增加tomcat windows服务上的内存,但无论如何?

Bal*_*usC 52

假设您已经从Tomcat主页下载并安装了Tomcat作为Windows Service Installer exe文件,然后检查系统托盘中的Apache feather图标(或者当缺席时,从开始菜单运行Monitor Tomcat).双击羽毛图标并转到Java选项卡.在那里你可以配置内存.

在此输入图像描述

重新启动服务以使更改生效.

  • @vissu:如果您有新问题,请按右上方的"提问"按钮. (3认同)

小智 17

我认为,我自己的问题的答案是使用tomcat7.exe:

cd $CATALINA_HOME
.\bin\service.bat install tomcat
.\bin\tomcat7.exe //US//tomcat7 --JvmMs=512 --JvmMx=1024 --JvmSs=1024
Run Code Online (Sandbox Code Playgroud)

此外,您可以在没有系统托盘或使用tomcat7w.exe安装程序的情况下启动BalusC提到的UI工具

.\bin\tomcat7w.exe //ES//tomcat
Run Code Online (Sandbox Code Playgroud)

另外要注意的是:

设置--JvmXX参数(通过UI工具或命令行)可能还不够.您可能还需要明确指定JVM内存值.从命令行看,它可能如下所示:

bin\tomcat7w.exe //US//tomcat7 --JavaOptions=-Xmx=1024;-Xms=512;..
Run Code Online (Sandbox Code Playgroud)

注意不要覆盖其他JavaOption值.您可以尝试更新bin\service.bat或使用UI工具并附加java选项(用新行分隔每个值).


小智 6

//ES/tomcat - >如果在安装过程中更改了服务名称,则可能无法使用.

运行没有任何服务名称的命令

.\bin\tomcat7w.exe //ES
Run Code Online (Sandbox Code Playgroud)

或者具有确切的服务名称

.\bin\tomcat7w.exe //ES/YourServiceName
Run Code Online (Sandbox Code Playgroud)


joh*_*ink 5

根据catalina.sh自定义应该总是进入你自己的setenv.sh(或setenv.bat),例如:

CATALINA_OPTS='-Xms512m -Xmx1024m'
Run Code Online (Sandbox Code Playgroud)

我的猜测是,在启动服务时也会调用setenv.bat.但是,我可能错了,因为我不是Windows用户.

  • 没有.当作为servcie运行时,Setenv.bat不会被调用. (13认同)
  • downvote:作为Windows服务运行时,不会调用setenv。 (2认同)