jmap 输出占用内存较大的对象
JMap 是 JDK 自带的一款命令行工具,可以用于生成 Java 进程的内存映像文件,并且可以输出占用内存较大的对象。
使用 JMap 输出占用内存较大的对象的步骤如下:
-
打开命令行窗口,进入 JDK 的 bin 目录。
-
执行以下命令,生成 Java 进程的内存映像文件:
jmap -dump:format=b,file=heap.bin <pid>其中,
<pid>是 Java 进程的进程 ID,可以使用jps命令查看。 -
执行以下命令,输出占用内存较大的对象:
jmap -histo:live <pid> | head -n 20其中,
<pid>是 Java 进程的进程 ID,head -n 20表示只输出前 20 行,可以根据需要进行调整。
输出结果中,第一列是对象的实例数,第二列是对象的总大小,第三列是对象的类名。根据对象的大小和类名,可以判断哪些对象占用了较大的内存,从而进行优化。
原文地址: https://www.cveoy.top/t/topic/gdCl 著作权归作者所有。请勿转载和采集!