4

我正在寻找具有以下功能的 jvm 性能工具:

  1. 在后台运行。
  2. 收集内存和线程信息。
  3. 生成可读文本格式的性能数据,便于 grep、awk、sort 等 cmd 使用。

简而言之,它是 jconsole 的 cli 版本。

oracle jvm 中包含的 jstat 满足 1 和 3,但不收集线程信息。我认为应该存在一些更复杂的工具。

有什么建议吗?提前致谢!

4

3 回答 3

2

也许jvmtop值得一看:

 JvmTop 0.4.1 amd64  8 cpus, Linux 2.6.32-27, load avg 0.12
 http://code.google.com/p/jvmtop

  PID MAIN-CLASS      HPCUR HPMAX NHCUR NHMAX    CPU     GC    VM USERNAME   #T DL
 3370 rapperSimpleApp  165m  455m  109m  176m  0.12%  0.00% S6U37 web        21
11272 ver.resin.Resin [ERROR: Could not attach to VM]
27338 WatchdogManager   11m   28m   23m  130m  0.00%  0.00% S6U37 web        31
19187 m.jvmtop.JvmTop   20m 3544m   13m  130m  0.93%  0.47% S6U37 web        20
16733 artup.Bootstrap  159m  455m  166m  304m  0.12%  0.00% S6U37 web        46
于 2013-06-03T14:46:05.050 回答
2

建议:

  • HeapAudit - HeapAudit 是一个 java 代理,用于审计 JVM 进程的堆分配。
  • 在 Java 安装中找到的 jStack/jMap
  • 或者,如果 jConsole 拥有您所需要的一切,为什么不自己获取数据。jConsole 只是 MBean 的一个包装器,您可以通过 API 直接访问它。例子
  • BTrace - BTrace 是用于 Java 平台的安全、动态跟踪工具。
于 2012-09-26T06:16:32.567 回答
2

有一个TJConsole项目,它是文本模式 JConsole。 https://github.com/m-szalik/tjconsole

于 2015-04-25T19:04:52.970 回答