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

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

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

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

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

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

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

    jmap -histo:live <pid> | head -n 20
    

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

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

jmap 输出占用内存较大的对象

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

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