Linux下JAVA堆大小监控

Linux下JAVA堆大小监控,java,size,heap,monitoring,Java,Size,Heap,Monitoring,我正在寻找一种从Linux上的Java进程中提取堆大小(最小、最大、已用)的方法。我需要一个lightwaight工具/命令来完成这项工作。大型监控软件包不是一种选择 我做了一些谷歌搜索和更多,但找不到可行的替代方案。到目前为止,我发现唯一可能的选择是使用JMX协议。我在Java应用程序上启用了JMX,并使用使用JMX协议/库实现的各种Java工具成功地轮询了它。但是这些Java工具速度很慢,在启动时分配内存时占用了大量cpu。我想要的是一个简单的工具命令行,它将讨论例如JMX协议并轮询进程的堆

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

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

我使用的是IBM的J9版本的Java,那里没有jstat工具


任何人有什么想法吗?

到目前为止,您的需求可能已经得到了满足,但对于其他可能偶然发现此线程的人来说,有一个选项是一个名为“jvmtop”(链接:)的工具。它与IBM J9 JVM(以及其他)一起工作。

您可以尝试使用JProfiler作为堆分析工具。或者JVisualVm与jdk一起提供用于此目的。轮询JMX yourself.nablex大约需要15行代码,在哪里可以找到这15行代码。JMX是一种非http协议,人们无法轻松地与之交谈。你是说15行Java代码吗?我已经有了一个Java客户机,但如果我几乎同时在十分之一的服务器上运行它,它的速度很慢,需要CPU。你能再详细一点吗?