有人知道类似于Hyperic SIGAR的Java库吗?我主要对过程监控感兴趣。 CPU使用率。
答案 0 :(得分:7)
尽管SIGAR网站表示它是根据GPL许可的,但根据Changelog,许可证已从GPL v2更改 - > Apache2与1.6.4版本。因此,从1.6.4版本开始,也许它可以用于商业用途。
2010-04-28 Doug MacEachern <dougm@hyperic.com>
* 1.6.4 release
* GPL v2 license -> Apache 2 license
...snip..
在Apache 2下发布的1.6.4版本可以是downloaded here。
答案 1 :(得分:6)
我们遇到了同样的问题:本机DLL和GPL。有一个新项目, OSHI 旨在解决这两个问题。它是根据EPL v2许可的。它非常年轻,但通过一些工作,它可以轻松覆盖所有SIGAR功能,而无需任何本机代码。
答案 2 :(得分:-1)
这正是Hyperic的SIGAR所做的,而SIGAR确实在Java中提供了它的API。出于兴趣,为什么还需要替代方案?
如果你有许可限制,这是一个问题,因为我不知道一个好的选择。一种可能的解决方案可能是DIY:如果您只想获取进程和CPU使用信息,您当然可以编写一些执行shell命令的代码(来自您的Java应用程序)来检查CPU上的进程表和操作系统信息。这实现起来相当简单,但我怀疑你可能会从这样的解决方案中获得令人失望的表现。然后,这不应该花费超过一两个小时来实现,然后您可以测试其性能。我希望这会有所帮助。
答案 3 :(得分:-2)
您可以使用JavaMelody。它是免费的(LGPL)。
它提供带有图形的报告来监视java进程的cpu,还有内存(堆和非堆),GC,线程,http会话,jdbc连接以及服务器中的更多内容。
http://javamelody.googlecode.com
或者,如果您只是想不时检查,可以使用JDK的jconsole或jvisualvm手动连接到您的java进程。