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

Java 作为Windows服务运行时,如何增加Tomcat 7上的内存?,java,windows,tomcat,tomcat7,Java,Windows,Tomcat,Tomcat7,我正在尝试将Tomcat7作为Windows服务(XP和Windows7)运行 我在catalina.bat中看到了设置-Xmx和-Xms jvm参数的地方,但我不确定在使用$catalina_HOME/bin/service.bat安装服务名称时如何设置。我环顾四周,但我能找到的最好结果是我需要更新windows注册表项,尽管我不确定要编辑哪个注册表项 我希望有更简单的方法,是吗 更新:我没有使用windows安装程序,主要是因为我在同一台机器上运行多个tomcat实例,但使用不同的端口(出于

我正在尝试将Tomcat7作为Windows服务(XP和Windows7)运行

我在catalina.bat中看到了设置-Xmx和-Xms jvm参数的地方,但我不确定在使用$catalina_HOME/bin/service.bat安装服务名称时如何设置。我环顾四周,但我能找到的最好结果是我需要更新windows注册表项,尽管我不确定要编辑哪个注册表项

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


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

假设您已从,然后检查systray中的Apache feather图标(如果不存在,请从“开始”菜单运行Monitor Tomcat)。双击羽毛图标并转到Java选项卡。您可以在那里配置内存


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

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

cd $CATALINA_HOME
.\bin\service.bat install tomcat
.\bin\tomcat7.exe //US//tomcat7 --JvmMs=512 --JvmMx=1024 --JvmSs=1024
此外,您还可以在不使用系统托盘的情况下启动BalusC提到的UI工具,或者使用带有tomcat7w.exe的安装程序

.\bin\tomcat7w.exe //ES//tomcat
对此还有一个补充说明:

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

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

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

/ES/tomcat
->如果在安装过程中更改了服务名称,则此操作可能无效

或者在不使用任何服务名称的情况下运行该命令

.\bin\tomcat7w.exe //ES
.\bin\tomcat7w.exe //ES/YourServiceName
或者使用确切的服务名称

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

根据catalina.sh,定制应始终进入您自己的setenv.sh(或分别进入setenv.bat),例如:


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

如果您运行的是自定义命名服务,您应该在Tomcat/bin目录中看到两个可执行文件
在我使用Tomcat 8的情况下

08/14/2019  10:24 PM           116,648 Tomcat-Custom.exe
08/14/2019  10:24 PM           119,720 Tomcat-Customw.exe
               2 File(s)        236,368 bytes
运行以“w”结尾的可执行文件将允许您在
Java
选项卡中配置Xmx

对于Tomcat 7,要增加内存:

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

对我来说,它是//RS//Tomcat70,所以它的名字是Tomcat70

然后以管理员身份编写:

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

海@BalusC,1。我想添加
-XX:MaxPermSize
。如果我真的像你说的那样喜欢上面的话,够了吗?还有2。我想将
-XX:+cmsclasssunloadingerabled-XX:+cmsclasssweapingenabled
添加到catalina批处理脚本中。我该怎么办?请引导我…@vissu:如果您有新问题,请按右上角的
问问题
按钮。我更改了这个并保存了。但是当我再次尝试启动它时,tomcat没有启动。一旦我更改回默认内存大小,我就可以再次启动tomcat。或者您也可以直接运行。\bin\tomcat7w.exe,即使您没有使用安装包。通过运行
%CATALINA\u HOME%\bin\tomcatXw.exe
,可以打开相同的对话框,其中X是主要版本号。另请参见No.Setenv.bat在作为servcie.downvote运行时不会被调用:Setenv在作为windows服务运行时不会被调用。您可以在此处找到更多这些选项。如果命令行选项中有特殊字符,您可能需要引用这些选项(例如,当您设置到javaagent的路径时)还有一件事需要注意的是,您可以使用
++JvmOptions=…
将其附加到列表中,而不是-,这会删除所有其他内容。在大多数情况下,++JvmOptions更安全,足够了,请小心使用--JvmOptions。此屏幕很有用,但我需要使用@bkumar的命令打开它。完整的命令是
tomcat7w.exe//ES/MyServiceNameOnTaskManager