首页 新闻 会员 周边 捐助

如何查找java内存中大对象在代码中的位置

0
[待解决问题]

我可以通过 jmap -histo:live {pid} | head -20 查出java内存中占用资源最多的20个对象。
通过分析我知道他们是Map,Long.可是我代码中有太多的map集合。请问一下,我怎么才能找到大map在代码中的具体位置呢?

伸展代码舒适区的主页 伸展代码舒适区 | 菜鸟二级 | 园豆:202
提问于:2020-04-29 12:08
< >
分享
所有回答(2)
0

jmap -dump:format=b,file=heap.bin 1, 1是pid。

然后用MAT(Memory Analyzer Tool)。

Timetombs | 园豆:3959 (老鸟四级) | 2020-04-29 14:55

+1 , 或者用JMC,我记得JMC也可以记录内存中对象的信息,并且信息比较全面

支持(0) 反对(0) renguanyu | 园豆:841 (小虾三级) | 2020-05-15 17:13
0
Honey_Badger | 园豆:200 (初学一级) | 2020-07-16 17:24
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册