一、概况
通过jmap可以查看JVM堆内存情况以及导出堆快照,用得比较的方式是导出堆快照,然后用其他工具进行分析,比如通过JVisualvm进行分析。
通过jmap -help 可以查看用法:
需要注意的时,执行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
然后把堆快照文件dump.hprof下载到本地,用jvisualvm装入。
如果出现内存溢出,或者通过一些工具发现JVM不断在吃内存,可以通过分析堆快照文件中类实例数。
打赏