我正在尝试使用JVisualVM来查看我的应用程序活动对象及其对应的内存计数(可能在程序包级别)

使用Jstad连接进行连接时如何实现相同的目的

谢谢

最佳答案

我很确定您不能使用VisualVM对正在运行的进程执行此操作。您需要做的是使用jmap进行堆转储(例如jmap -dump:format = b,file = heapdump.bin),然后使用类似mat的工具来分析该转储。

请注意,堆转储会在相当长的时间内阻塞您的进程,尤其是如果您的堆很大。

您还可以在更一般的级别上获取信息,那就是对您的进程运行jmap -histo:live以仅查看每种类型的对象数及其占用空间。

10-02 02:50
查看更多