一、概况

通过jmap可以查看JVM堆内存情况以及导出堆快照,用得比较的方式是导出堆快照,然后用其他工具进行分析,比如通过JVisualvm进行分析。

通过jmap -help 可以查看用法:
jvm16
需要注意的时,执行jmap时,查看对应的pid,当前用户需要与启动对应pid的用户一直,否则可能会出现如下错误:
Unable to open socket file: target process not responding or HotSpot VM not loaded

二、导出堆快照

jmap -dump:live,format=b,file=dump.hprof 11172
jvm17

然后把堆快照文件dump.hprof下载到本地,用jvisualvm装入。
jvm18

如果出现内存溢出,或者通过一些工具发现JVM不断在吃内存,可以通过分析堆快照文件中类实例数。

打赏
支付宝 微信
上一篇 下一篇