通过IDEA查看运行时某个java对象占用JVM大小及内存占用情况

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangvalue/article/details/89196791

1️⃣、在terminal终端中输入jps即可查看当前已启动的进程和对应的PID,如下图所示:pid=811

2️⃣、执行命令:jmap -dump:format=b,file=heap.bin <pid> 

jmap 能查看jvm内存中,对象占用内存的情况,还提供非常方便的命令将jvm的内存信息导出的文件。

format=b是通过二进制的意思,-dump:format=b,file=heap.bin意思是:把内存结构全部dump到二进制文件heap.bin中。

3️⃣、执行命令:jhat -J-Xmx512m heap.bin   ,(ha指IBM的HeapAnalyzer)

就可以将我们刚刚使用jmap导出的内存信息交给jhat解析了。

默认的情况下,它会监听7000端口。本机的地址就是,http://localhost:7000/

扫描二维码关注公众号,回复: 5849099 查看本文章

    访问http://localhost:7000/histo/,大致可以看到一下的画面,这里列出对象,对象实例数量、总占用内存大小。点击进去之后可以看到“谁引用了这个对象,这个对象又引用了哪个”这些信息。不过因为展示的信息非常多,并没有想象中那样清晰可见。

猜你喜欢

转载自blog.csdn.net/zhangvalue/article/details/89196791