美文网首页
jmap jhat 查看java对象的内存占用情况

jmap jhat 查看java对象的内存占用情况

作者: 沉默羔羊121 | 来源:发表于2019-04-09 14:40 被阅读0次

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

    Shell代码

    1. jmap -dump:format=b,file=heap.bin <pid>

    命令jhat 能够解析 java内存堆的文件,生成相关信息,并启动webServer提供查询。 也就说,我们可以通过浏览器来看这些内存信息。jhat还提供了一个类sql的查询语言---OQL来给我们使用。

    执行一下

    1. jhat -J-Xmx512m heap.bin

      就可以将我们刚刚使用jmap导出的内存信息交给jhat解析了。默认的情况下,它会监听7000端口。我在本机的地址就是,http://localhost:7000/

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

    相关文章

      网友评论

          本文标题:jmap jhat 查看java对象的内存占用情况

          本文链接:https://www.haomeiwen.com/subject/suibiqtx.html