語法
jmap [ option ] pid
jmap [ option ] executable core
jmap [ option ] [server-id@]remote-hostname-or-IP
參數
option 參數是單一的,緊跟在命令后面。
pid 要被映射的進程。必須是java進程。用jps可以獲得java進程列表
executable 產生核心轉儲的可執行java代碼
core 要被映射的核心文件
remote-hostname-or-IP 遠程調試服務器的域名或者ip地址(看jsadebugd)
server-id 可選唯一id,如果多個服務器運行在同一個遠程主機
描述
是復制共享對象的內存映射、給定進程的堆內存、核心文件、遠程調試服務器。如果給定的進程是再64的VM,你需要制定參數,例如:
jmap -J-d64 -heap pid
注意:這個工具在未來的JDK里可能不支持或者不出現。在windows系統里沒有dbgeng.dll, 需要安裝'Debugging Tools for Windows'來運行這些工具。同時PATH環境變量必須包含被目標進程或者崩潰導出文件位置鎖使用的jvm.dll路徑。例如:
set PATH=\jre\bin\client;%PATH%
OPTIONS
<no option> 當沒有選項,jmap復制共享對象映射。目標虛擬機中的每一個分享對象、開始地址、映射大小、完整路徑被復制。這類似于Solaris中的pmap工具。
-dump:[live,]format=b,file=<filename> 把java堆導出成hprof二進制格式文件。live子選項是可選的。如果指定,只有堆中的活對象被導出。瀏覽堆鏡像,你可以使用jhat。
-finalizerinfo 復制正在等待回收的對象信息
-heap 復制一個堆得概要。使用的GC算法堆配置,使用代的大小。
-histo[:live] 復制一個堆得柱狀圖。每個Java類,對象個數,內存大小(byte),類全路徑。VM的內部類用*為前綴。如果live子選項被指定,只有活對象被計數。
-permstat 打印堆中永生代的類加載器的寬泛統計。每個加載器的名字,活性,地址,父加載器,它加載的類的大小。另外,駐留字符串的大小和數量。
-F 強制。使用jmap -dump 或者 jmap -histo 選項時,如果pid沒有響應。在這個模式下live子選項不支持。
-h 幫助
-help 幫助
-J<flag> java虛擬機選項
posted on 2013-03-18 17:32
zhangxl 閱讀(1127)
評論(0) 編輯 收藏 所屬分類:
JVM