jmap命令(Java Memory Map)(轉)

JDK內置工具使用java

1、javah命令(C Header and Stub File Generator)算法

2、jps命令(Java Virtual Machine Process Status Tool)jvm

3、jstack命令(Java Stack Trace)工具

4、jstat命令(Java Virtual Machine Statistics Monitoring Tool).net

5、jmap命令(Java Memory Map)debug

6、jinfo命令(Java Configuration Info)orm

7、jconsole命令(Java Monitoring and Management Console)server

8、jvisualvm命令(Java Virtual Machine Monitoring, Troubleshooting, and Profiling Tool)對象

9、jhat命令(Java Heap Analyse Tool)blog

10、Jdb命令(The Java Debugger)

 

11、Jstatd命令(Java Statistics Monitoring Daemon)

 

 

一、介紹

打印出某個java進程(使用pid)內存內的,全部‘對象’的狀況(如:產生那些對象,及其數量)。

 

能夠輸出全部內存中對象的工具,甚至能夠將VM 中的heap,以二進制輸出成文本。使用方法 jmap -histo pid。若是連用SHELL jmap -histo pid>a.log能夠將其保存到文本中去,在一段時間後,使用文本對比工具,能夠對比出GC回收了哪些對象。jmap -dump:format=b,file=outfile 3024能夠將3024進程的內存heap輸出出來到outfile文件裏,再配合MAT(內存分析工具(Memory Analysis Tool),使用參見:http://blog.csdn.net/fenglibing/archive/2011/04/02/6298326.aspx)或與jhat (Java Heap Analysis Tool)一塊兒使用,可以以圖像的形式直觀的展現當前內存是否有問題。

64位機上使用須要使用以下方式:

jmap -J-d64 -heap pid

二、命令格式

SYNOPSIS

       jmap [ option ] pid

       jmap [ option ] executable core

       jmap [ option ] [server-id@]remote-hostname-or-IP

三、參數說明

1)、options: 

executable Java executable from which the core dump was produced.

(多是產生core dump的java可執行程序)

core 將被打印信息的core dump文件

remote-hostname-or-IP 遠程debug服務的主機名或ip

server-id 惟一id,假如一臺主機上多個遠程debug服務 

2)、基本參數:

-dump:[live,]format=b,file=<filename> 使用hprof二進制形式,輸出jvm的heap內容到文件=. live子選項是可選的,假如指定live選項,那麼只輸出活的對象到文件. 

-finalizerinfo 打印正等候回收的對象的信息.

-heap 打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用狀況.

-histo[:live] 打印每一個class的實例數目,內存佔用,類全名信息. VM的內部類名字開頭會加上前綴」*」. 若是live子參數加上後,只統計活的對象數量. 

-permstat 打印classload和jvm heap長久層的信息. 包含每一個classloader的名字,活潑性,地址,父classloader和加載的class數量. 另外,內部String的數量和佔用內存數也會打印出來. 

-F 強迫.在pid沒有相應的時候使用-dump或者-histo參數. 在這個模式下,live子參數無效. 

-h | -help 打印輔助信息 

-J 傳遞參數給jmap啓動的jvm. 

pid 須要被打印配相信息的java進程id,創業與打工的區別 - 博文預覽,能夠用jps查問.

四、使用示例

1)、[fenglb@ccbu-156-5 ~]$ jmap -histo 4939

[輸出較多這裏不貼了]

2)、[fenglb@ccbu-156-5 ~]$ jmap -dump:format=b,file=test.bin 4939

Dumping heap to /home/fenglb/test.bin ...

Heap dump file created

 

 

本文出自:馮立彬的博客

相關文章
相關標籤/搜索