JVM --------jmap-----查看堆內存信息、生成heap dump 文件(轉儲堆內存快照到指定文件)


一、用 jmap(Memory Map for Java)查看堆內存信息

 1.查看堆內存信息   

命令:jmap -histo pid 

解析:可以打印出當前堆中所有每個類的實例數量和內存占用

結果:

如下,class name 是每個類的類名([B 是 byte 類型,[C是 char 類型,[I 是 int 類型),bytes 是這個類的所有示例占用內存大小,instances 是這個類的實例數量:

 

2.使用jmap-dump 生成heap  dump 文件

執行 jmap -dump 可以轉儲堆內存快照到指定文件

命令格式:jmap -dump:format=b,file=xxx.bin <pid>,就生成了 xxx.bin dump文件。

              其中pid是JVM進程的id,xxx.bin是生成的heap dump文件,在執行命令的目錄下面

             如果要使用Eclipse Memory Analyzer來分析則文件的后綴要為hprof

         示例:jmap -dump:format=b,file=xxx.bin 1

                 jmap -dump:format=b,file=heap.hprof 1

                 jmap -dump:live,format=b,file=heap.bin <pid> 將當前的存活對象dump到文件,此時會觸發FullGC

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM