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