如何在Windows上以编程方式查询Apache TomCat7的当前内存设置?

时间:2013-03-01 17:31:02

标签: apache tomcat chef

我们使用厨师来安装和配置我们的软件。

我想向Tomcat添加配置以更改内存设置。

如果我现在只是将其添加到配置中,它将在每次运行时继续添加和添加。

根据本文,您可以使用以下命令在命令行执行此操作:

tomcat6 //US//Tomcat6 --JvmMx 1024 ++JvmOptions="-XX:MaxPermSize=256m"

我们正在使用tomcat7,因此我们已将其更改为:

tomcat7 //US//Tomcat7 --JvmMx 1024 ++JvmOptions="-XX:MaxPermSize=256m"

提到使用tomcat6 // ES / Tomcat6进行查询。

我希望它能将它输出到标准输出,但事实并非如此。

是否有某处我可以以编程方式检查当前设置,因此我不会一次又一次地添加它。

可能的答案不一定是厨师特定的,只需命令行就可以了。

2 个答案:

答案 0 :(得分:1)

实现这一目标的通常“程序化”方式是通过JMX,但是因为你说:

  

只是命令行

您可以使用reg.exe获取存储在注册表中的服务的Java参数:

reg query "HKLM\Software\Apache Software Foundation\Procrun 2.0\<TOMCAT_SERVICE_NAME>\Parameters\Java" 

这将转储所有Java参数,在您的情况下,您正在寻找“JvmMx”。

答案 1 :(得分:0)

在commons-procrun v1.2.3中,一个new command已添加到列表中:print-config

您可以这样运行它:

tomcat7 //PS//Tomcat7

,它将为您转储现有配置。

它已添加到Tomcat 7.0.106中,下一个版本的Tomcat 8.5和Tomcat 9.0的下一版本也应具有它。 (后端口已完成;仅在等待发布。)