【问题标题】:How do I get memory information of jvm cluster如何获取jvm集群的内存信息
【发布时间】:2015-09-15 20:11:34
【问题描述】:

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

java 运行时函数只提供一个 jvm 的数据。对于由 4 个 jvm 组成的 jvm 集群,我如何找到它。

如果可能的话,它可能是一个 unix 命令或一些 java 函数。

【问题讨论】:

  • 通过 jmx 定期轮询每个 jvm - 或使用诸如 newrelic 之类的工具/服务

标签: java unix aix


【解决方案1】:

没有“jvm 集群”这样的东西,因为 JVM 不能真正集群。即JVM本身没有集群能力。

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

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

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

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-24
      • 2018-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多