jmap 查看jvm內存大小並進行dump文件內存分析


本文為博主原創,未經允許不得轉載:

  1.jmap的使用

    Jmap 可以用來查看內存信息,實例個數以及占用內存大小.

    jmap -histo[:live] 打印每個class的實例數目,內存占用,類全名信息. VM的內部類名字開頭會加上前綴”*”. 如果子參數加上live后,只統計活的對象數量. 

    命令:

jmap -histo pid  // 或  
jmap -histo:live pid

 

   num:序號

  instances:實例數量
  bytes:占用空間大小
  class name:類名稱,[C is a char[],[S is a short[],[I is a int[],[B is a byte[],[[I is a int[][]
 
2. 查看堆信息:
jmap -heap pid

 

 

 3. 堆內存dump到指定目錄,並導入到 jvisualvm

jmap ‐dump:format=b,file=eureka.hprof pid    
jmap ‐dump:format=b,file=eureka.tdump pid 

 

  dump生成的文件可以用jvisualvm命令工具導入該dump文件分析: 打開 jdk 的bin目錄的 jvisualvm 工具,選擇文件,再選擇裝入,

並選中對應的文件類型,即可進行導入文件,分析內存對象。

 

 

4. 可以使用指定的啟動參數,將運行時的內存溢出主動導出到dump文件中

 ‐XX:+HeapDumpOnOutOfMemoryError ‐XX:HeapDumpPath=D:\jvm.dump

 


免責聲明!

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



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