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

时间:2011-05-12 21:13:08

标签: java windows tomcat tomcat7

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

我在catalina.bat中看到了设置-Xmx和-Xms jvm args的地方,但我不确定在使用$ CATALINA_HOME / bin / service.bat安装service-name时该如何操作。我环顾四周,但我能找到的最好的是我需要更新Windows注册表项,虽然我不确定要编辑哪一个。

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

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

6 个答案:

答案 0 :(得分:51)

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

enter image description here

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

答案 1 :(得分:17)

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

cd $CATALINA_HOME
.\bin\service.bat install tomcat
.\bin\tomcat7.exe //US//tomcat7 --JvmMs=512 --JvmMx=1024 --JvmSs=1024

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

.\bin\tomcat7w.exe //ES//tomcat

另外需要注意:

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

bin\tomcat7w.exe //US//tomcat7 --JavaOptions=-Xmx=1024;-Xms=512;..

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

答案 2 :(得分:6)

//ES/tomcat - >如果您在安装期间更改了服务名称,则可能无法使用此功能。

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

.\bin\tomcat7w.exe //ES

或具有确切的服务名称

.\bin\tomcat7w.exe //ES/YourServiceName

答案 3 :(得分:6)

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

CATALINA_OPTS='-Xms512m -Xmx1024m'

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

答案 4 :(得分:1)

如果您正在运行自定义的命名服务,则应该在Tomcat / bin目录中看到两个可执行文件
以Tomcat 8为例

A - B - E

运行“ w”终止的可执行文件将使您可以在UserSchema.pre('save', function(){ this.username_lower = this.username.toLowerCase(); this.email_lower = this.email.toLowerCase(); // and so on ... next(); }); 标签中配置Xmx
enter image description here

答案 5 :(得分:0)

为Tomcat 7增加内存:

标识您的服务名称,您可以在该服务属性的该行末尾的“可执行文件路径”下找到它

对我来说是// RS // Tomcat70 ,所以名称是Tomcat70

然后以管理员身份写信:

tomcat7.exe //US//Tomcat70 --JvmOptions=-Xmx1024M