Wil*_*ung 12
jmap是标准的java实用程序,可用于捕获堆转储和统计信息.我不能说jmap使用什么协议连接到JVM来获取这些信息,并且不清楚这些信息是否可以直接在JVM中运行的程序(虽然我确信程序可以查询它的JVM)通过一些套接字来获取此信息).
JVM TI是C代码使用的工具接口,它几乎可以完全访问JVM,但它是C代码,而不是JVM直接提供的.您可以编写一个C lib然后与它进行交互,但没有任何开箱即用的功能.
有几个JMX MBean,但我不认为它们中的任何一个提供实际的对象计数.您可以从这些获取内存统计信息(这些是JConsole使用的).查看java.lang.management类.
如果你想要一些快速(易于实现,不一定是一个快速的结果,因为jmap需要一些时间),我会分叉一段jmap,并只是读取生成的文件.
最简单的方法是使用jmap工具.如果您将在最后打印对象直方图,您将看到实例的总数以及所有对象的累积大小:
jmap -histo <PID>将打印具有实例数和大小的整个对象.最后一行将包含总数
Total 2802946 174459656
第二列是总实例数,最后一列是总字节数.
| 归档时间: |
|
| 查看次数: |
31788 次 |
| 最近记录: |