jmap使用方法及原理


 https://cloud.tencent.com/developer/article/1452072

jmap jvm自帶命令行工具,可用於了解系統運行時的對象分布,常用命令格式如下

jmap常用命令

1.jmap -h

 

 

2. jmap -heap 

查看java堆的信息以及垃圾回收算法等 

示例:jmap -heap  1

查看進程號為1的java堆的信息以及垃圾回收算法等 

 

 



3.
jmap -histo <pid>

打印當前java堆中所有對象的實例數和大小等,加了live選項則只打印存活的對象 

// 命令行輸出類名、類數量數量,類占用內存大小,
// 按照類占用內存大小降序排列

示例:

jmap -histo 1(進城號)

 

 

 

 



3. jmap -dump:<dump-options> 

dump-options主要有:

  • live 只dump存活的對象,如果不加則會dump所有對象
  • format=b 表示以二進制格式
  • file=filepath 輸出到某個文件中

java堆中的對象dump到本地文件,然后使用第三方工具進行分析,如MAT,JProfile,IBM的分析工具等

例如:

jmap -dump:format=b,file=xxx.bin  JVM 進程號ID(獲取JVM heap dump 文件)(xxx.bin生成的heap dump文件)

示例:

jmap -dump:live,format=b,file=dump.hprof <pid>
jmap -dump:format=b,file=dump.hprof <pid>
// 生成堆內存轉儲快照,在當前目錄下導出dump.hrpof的二進制文件, // 可以用eclipse的MAT圖形化工具分析 jmap -dump:live,format=b,file=dump.hprof <pid> 復制代碼



jinfo 命令格式
1.jinfo <pid> 
  用來查看正在運行的 Java 應用程序的擴展參數,包括Java System屬性和JVM命令行參數

 


作者:分布式系統架構
鏈接:https://juejin.im/post/5b6b986c6fb9a04fd1603f4a
來源:掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

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



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