我如何获取jvm集群的内存信息

时间:2015-06-29 11:24:03

标签: java unix aix

我必须在页面上显示jvm内存使用情况数据。我需要找到jvm内存统计信息,如空闲内存和最大内存。

java运行时函数只提供一个jvm的数据。如何为包含4个jvms的jvm群集找到它。

如果可能,它可以是unix命令或某些java函数。

2 个答案:

答案 0 :(得分:1)

因为JVM不支持开箱即用的群集。 (假设您指的是标准的oracle发行版) 您将不得不从不同的JVM开发JVM内存统计信息的聚合。

答案 1 :(得分:1)

没有“jvm集群”之类的东西,因为JVM无法真正集群化。即,JVM本身没有集群功能。

程序(本身在jvm上运行)可以使用第三方工具或库进行集群(或者自己编写相关代码,我建议不要这样做。)

这意味着,由于没有core-jdk支持群集,因此也没有可以为群集提供某些值的java函数调用。您用来集群程序的软件/工具/库可能能够提供此信息,但您必须在文档中查看。

出于同样的原因,也没有unix调用。 * nix操作系统对你的java集群一无所知,他们只知道在它们上运行的进程使用CPU和内存,可能还有一些I / O.他们不知道任何聚类,因此无法帮助您解决问题。

所以,找到你要找的东西:

  • 如果它是一个真正的扩展集群,即工作负载在集群中的不同jvms上自动划分,则必须查看用于集群软件(工具/库)的文档。找出他们是否可以提供这些信息。

  • 如果您使用第三方应用程序(例如Zabbix)来监视不同的JVM,您可以构建一个屏幕或视图,它可以在一个屏幕中显示多个JVM的数据。同样,您必须在该工具的文档中查看。