我在Windows 7 64位上安装了Tomcat 9作为服务。我想:如何更改从命令行安装为Windows Service的Tomcat 9的Java堆大小?
- 看到堆大小当前配置和积极
- 更新服务配置持续使用不同的堆大小
- 验证Tomcat的实际使用新的堆大小。
- 做所有的命令行。
对于1和3:我天真地尝试过使用jconsole,但是我没有在那里找到进程,因为Tomcat是作为本地系统服务运行的。当我发现如何将jconsole作为本地系统帐户运行时,似乎当Tomcat作为服务安装时,JMX被停用。
因此,通过JMX找出当前使用的内存大小似乎至少是非常复杂的(可能使JMX远程,这应该是在TLS ...)。
为2:我想this是Tomcat的文档,其内容的相应位置:
To update the service parameters, you need to use the //US// parameter.
Update the service named 'Tomcat9'
C:\> tomcat9 //US//Tomcat9 --Description="Apache Tomcat Server - http://tomcat.apache.org/ "^
--Startup=auto --Classpath=%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\bin\bootstrap.jar
但我不明白的文字足以将它应用到我的问题。特别是,我不想改变其他参数(如描述,启动等)。
据我了解,当作为服务运行,配置存储在Windows注册表中,所以在tomcat的/ conf目录通常配置不或至少不只是部分适用。
请注意,这个问题是不是安装Tomcat的,但有关修改现有安装。另外,我对某种拙劣的方式不感兴趣,以某种方式获得理想的结果,但最好的做法是:如果能够链接到参考文档,那将是完美的。
当然这是一个JVM参数,但该参数的配置属于Tomcat9的Windows服务的配置。正如我在问题中已经说过的那样,通常的批处理文件似乎没有(或至少不同)被使用。如果您阅读上面引用的部分,您会发现初始配置不是通过修改批处理文件来完成的。 – Gustave
关于我链接到的工具的任何反馈? – GhostCat
可能它会遭受描述的访问问题。从它的Github页面:“监控所有可访问的,在一台机器上运行jvms”。 (入店!)。我会先尝试https://blogs.oracle.com/nbprofiler/monitoring-java-processes-running-as-a-windows-service。但我现在没有更多的时间了。 – Gustave