tomcat - 是否有可能像 Tomcat Manager 那样使用 JMX 获取可用/总计/最大内存?

标签 tomcat memory monitoring jmx

在启用 tomcat 5/6 和 JMX 的情况下,可以获得有多少空闲内存可用于监视 propurses?

我从zapcat模板修改了Template_Tomcat,但是没有看到可以用free/total/max memory来标识的参数。有与 GC 和堆内存相关的参数,但我真的迷失了这个问题。

我没有在这里或谷歌上找到任何回复,也许我不明白一些必须显而易见的事情:(

非常感谢!

最佳答案

我知道我回答这个问题已经很晚了,但我想你想从名为 Memory 的 MBean 中获取信息。参见 this section of Tomcat Monitoring FAQ .

在 Zabbix 模板配置中,您使用这些键设置项目:

jmx[java.lang:type=Memory][HeapMemoryUsage].committed
jmx[java.lang:type=Memory][HeapMemoryUsage].used
jmx[java.lang:type=Memory][HeapMemoryUsage].max

如果你使用部署在Tomcat中的ZapCat,你可以看到访问ZapCat生成的MBeans列表页面的列表(类似:http://localhost:8180/zapcat-1.2/mbeans.jsp ),它列出了可用的 MBean 和属性。

请注意,如果您改用 JBoss,则可以使用这些值(来自名为 ServerInfo 的 MBean):

jmx[jboss.system:type=ServerInfo][MaxMemory]
jmx[jboss.system:type=ServerInfo][TotalMemory]
jmx[jboss.system:type=ServerInfo][FreeMemory]

无论如何,你可能想在被监控的机器上安装zabbix-agent,这样你就可以监控CPU、内存和一切。不过,您必须在 Zabbix 中设置另一台主机。

希望对您有所帮助!

关于tomcat - 是否有可能像 Tomcat Manager 那样使用 JMX 获取可用/总计/最大内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7256707/

相关文章:

c# - 如何测试 Windows 服务的 react 性?

java - tomcat、2 个 webapps、2 个 log4js,但两个应用程序都记录到一个文件

java - 在 64 位 Linux 服务器上运行 64 位 JVM 的优点/缺点?

ruby - 如何使用非常大的 Ruby 哈希减少内存使用量?

google-cloud-platform - 将多个聚合添加到 google_monitoring_alert_policy

java - 在 JVM 上进行定期线程转储 - ThreadMXBean 与 JVMTI 代理

tomcat - Tomat : start/stop/reload application by JMX? 如何通过程序管理应用程序的启动/停止/重启?

java - 在类路径中查找 StripesResources.properties 的问题

c - 是什么导致Linux内核中的缓冲区膨胀?

调用 free() 后内存未释放