JDK裡自帶的實用工具之jmap,JVM調優從這裡開始!(四)


JDK裡自帶的實用工具之jmap,JVM調優從這裡開始!(四)

jmap

打印進程,核心文件或遠程調試服務器的共享對象內存映射或堆內存詳細信息。此命令是實驗性的,不受支持。


概要


<code>jmap [ 選項 ] pid
jmap [ options ] 可執行 核心
jmap [ 選項 ] [ pid ] 服務器ID @] remote-hostname-or-IP
/<code>


選項

命令行選項。


  • 不使用任何選項時,該jmap命令將打印共享對象映射。對於目標JVM中加載的每個共享對象,將打印共享對象文件的開始地址,映射的大小和完整路徑。此行為類似於Oracle Solaris pmap實用程序。
  • -dump:[live,]format=b,file=filename
    將Java堆以hprof二進制格式轉儲到filename。的live子選項是可選的,但是當指定時,僅在堆活動對象被傾倒。要瀏覽堆轉儲,可以使用jhat(1)命令讀取生成的文件。
  • -finalizerinfo
    打印有關正在等待完成的對象的信息。
  • -heap
    打印所用垃圾收集的堆摘要,頭配置和逐代堆使用情況。此外,還會打印實習字符串的數量和大小。
  • -histo [:live]
    打印堆的直方圖。對於每個Java類,將打印對象數量,以字節為單位的內存大小以及完全限定的類名稱。JVM內部類名稱打印有星號(*)前綴。如果live指定了子選項,則僅計算活動對象。
  • -clstats
    打印Java堆的類加載器明智的統計信息。對於每個類加載器,將打印其名稱,活動程度,地址,父類加載器以及已加載的類的數量和大小。
  • -F
    力。當pid不響應時,將此選項與jmap -dump或選項一起使用jmap -histo。該live子選項並不在此模式下支持。
  • -h
    打印幫助信息。
  • -help
    打印幫助信息。
  • -Jflag
    傳遞flag到jmap運行命令的Java虛擬機。


pid

要為其打印內存映射的進程ID。該進程必須是Java進程。要獲取機器上運行的Java進程的列表,請使用jps(1)命令。


可執行文件

生成核心轉儲的Java可執行文件。


核心

要為其打印內存映射的核心文件。


遠程主機名或IP

遠程調試服務器hostname或IP地址。參見jsadebugd(1)。


服務器ID

當多個調試服務器在同一遠程主機上運行時使用的可選唯一ID。


描述

該jmap命令顯示指定進程,核心文件或遠程調試服務器的共享對象內存映射或堆內存詳細信息。如果指定的進程在64位Java虛擬機(JVM)上運行,則可能需要指定該-J-d64選項,例如:jmap -J-d64 -heap pid。

<code>注意:此實用程序不受支持,在以後的JDK版本中可能不可用。在dbgeng.dll不存在該文件的Windows系統上,必須安裝Windows調試工具才能使這些工具正常工作。在PATH環境變量中應包含的位置jvm.dll所使用的目標進程或從中故障轉儲文件被產生,例如位置的文件:set PATH=%JDK_HOME%\\jre\\bin\\client;%PATH%。/<code>


分享到:


相關文章: