JMap 是 JDK 自带的一款命令行工具,可以用于生成 Java 进程的内存映像文件,并输出占用内存较大的对象。

使用 JMap 输出占用内存较大的对象的步骤如下:

  1. 打开命令行窗口,进入 JDK 的 bin 目录。

  2. 执行以下命令,生成 Java 进程的内存映像文件:

jmap -dump:format=b,file=heap.bin


其中,`<pid>` 是 Java 进程的进程 ID,可以使用 `jps` 命令查看。

3. 执行以下命令,输出占用内存较大的对象:

jmap -histo:live | head -n 20


其中,`<pid>` 是 Java 进程的进程 ID,`head -n 20` 表示只输出前 20 行,可以根据需要进行调整。

输出结果中,第一列是对象的实例数,第二列是对象的总大小,第三列是对象的类名。根据对象的大小和类名,可以判断哪些对象占用了较大的内存,从而进行优化。
JMap 工具:如何输出 Java 进程占用内存最大的对象

原文地址: https://www.cveoy.top/t/topic/fWI5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录