【问题标题】:JAVA heap size monitoring on LinuxLinux 上的 JAVA 堆大小监控
【发布时间】:2014-08-27 08:51:21
【问题描述】:

我正在寻找一种从 Linux 上的 Java 进程中提取堆大小(最小、最大、已使用)的方法。我需要一个轻量级工具/命令来完成这项工作。大型监控包不是一种选择。

我进行了一些谷歌搜索,但找不到可行的替代方案。到目前为止,我发现的唯一可能的选择是使用 JMX 协议。我在 Java 应用程序上启用了 JMX,并使用各种使用 JMX 协议/库实现的 Java 工具成功轮询它。但是这些 Java 工具速度很慢,在启动过程中分配内存时会占用大量 cpu。我想要的是一个简单的工具命令行,例如 JMX 协议和轮询进程的堆大小。

我使用的是 IBM 的 J9 版本的 Java,jstat 工具在那里不可用。

有什么想法吗?

【问题讨论】:

  • 你可以试试 JProfiler 一个堆分析工具。或者 JVisualVm 与 jdk 一起用于此目的。
  • 自己轮询 JMX 大约需要 15 行代码。
  • nablex 我在哪里可以找到这 15 行代码。 JMX 是一种非 http 协议,无法轻松与之对话。你的意思是 15 行 Java 代码吗?我已经有一个 Java 客户端,但是如果我几乎同时在十分之一的服务器上运行它,它会很慢并且占用 CPU。你能详细说明一下吗?

标签: java size heap-memory monitoring


【解决方案1】:

您的需求现在可能已经得到满足,但是对于可能偶然发现此线程的其他人来说,一个选择是一个名为“jvmtop”的工具(链接:https://code.google.com/p/jvmtop/)。它适用于 IBM J9 JVM(以及其他)。

【讨论】:

    猜你喜欢
    • 2011-01-10
    • 2021-05-11
    • 2011-10-18
    • 2016-03-25
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    相关资源
    最近更新 更多