Linux上的JAVA堆大小监视
问题描述:
我正在寻找一种方法来从Linux上的Java进程中提取堆大小(最小,最大,使用)。我需要一个光明的工具/命令来完成这项工作。大型监控软件包不是一种选择。Linux上的JAVA堆大小监视
我做了一些googleing和更多,但无法找到一个可行的选择。目前我发现的唯一可能的选择是使用JMX协议。我在Java appication上启用了JMX,并使用各种使用JMX协议/库实现的Java工具成功地进行了轮询。但是这些Java工具很慢,在启动时分配内存时占用了很多CPU。我想要的是一个简单的工具命令行,它将讨论例如JMX协议并轮询堆进程的大小。
我正在使用IBM的J9版本的Java,并且jstat工具在那里不可用。
任何想法吗?
答
您的需求现在可能已经被照顾了,但对于其他可能在这个线程中遇到的人来说,一个选项是一个名为'jvmtop'的工具(链接:https://code.google.com/p/jvmtop/)。它适用于IBM J9 JVM(等等)。
您可以尝试JProfiler堆分析工具。或者JVisualVm为此目的与jdk一起发货。 – 2014-08-27 08:53:58
需要约15行代码才能自行轮询JMX。 – nablex 2014-08-27 09:00:38
nablex在哪里可以找到这15行代码。 JMX是一个非http协议,不容易与之通话。你的意思是15行Java代码?我已经有了一个Java客户端,但是如果我几乎同时在十分之一的服务器上运行它,它会很慢并且需要CPU。你能再详细一点吗? – bortek 2014-08-27 10:30:03