1. 程式人生 > >jmap命令(Java Memory Map)(轉)

jmap命令(Java Memory Map)(轉)

1、介紹

打印出某個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

2、命令格式

SYNOPSIS

       jmap [ option ] pid

       jmap [ option ] executable core

       jmap [ option ] [[email protected]]remote-hostname-or-IP

3、引數說明

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查問.

4、使用示例

1)、[[email protected] ~]$ jmap -histo 4939

[輸出較多這裡不貼了]

2)、[[email protected] ~]$ jmap -dump:format=b,file=test.bin 4939

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

Heap dump file created

相關推薦

jmap命令(Java Memory Map)()

1、介紹 打印出某個java程序(使用pid)記憶體內的,所有‘物件’的情況(如:產生那些物件,及其數量)。 可以輸出所有記憶體中物件的工具,甚至可以將VM 中的heap,以二進位制輸出成文字。使用方法 jmap -histo pid。如果連

jmap命令(Java Memory Map)的使用

notes read 一個 net file 64位 pac mem tools jmap的使用能夠參考: 官方文檔 http://docs.oracle.com/javase/6/docs/technotes/tools/share/jmap.html 和這篇博客 h

JAVAMAPLIST

new pub values pac exc except gpo x11 toarray @Test public void testMap2List() throws Exception{ Map<String, String> map = new

JAVA實現map成XML格式

JAVA實現map集合轉成XML格式 例如: 程式碼塊 import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import org.d

javamapList物件

  Collection<實體類> valueCollection2 = map2.values();   List<實體類> valueList= new ArrayList<Purcha

json字符串javaMap<String,String>

json字符串轉成javamappackage com.iqc.app.qc.common.util; import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map; public

redis 命令列操作mapjava操作map

hset key field value 單個設定 hget key field 獲取map中指定key的值 HMSET key field value [field value ...] 多個設定 HMGET key field [field ...]

Java mapscala map

public static void main(String[] args) { Map<String, String> map = new HashMap<String,S

微信APP支付統一下單、加簽、mapxml,java程式碼

流程:前端建立訂單,後端儲存訂單並呼叫微信統一下單介面,將微信返回的預支付回話標識返回給客戶端。 統一下單: 1.統一下單引數設定(map) 2.將引數加簽,並將sign加入到map(這裡注意,key是需要自己去設定的,設定路徑:微信商戶平臺(pay.weixin.qq.

JSON字串javabean-net.sf.ezmorph.bean.MorphDynaBean cannot be cast to java.util.Map

會報錯:MorphDynaBean cannot be cast to java.util.Map     在JSONObject.toBean的時候如果轉換的類中有集合,可以先定義Map<String, Class> classMap = new Hash

jmap命令詳解()

1、命令基本概述 Jmap是一個可以輸出所有記憶體中物件的工具,甚至可以將VM 中的heap,以二進位制輸出成文字。打印出某個java程序(使用pid)記憶體內的,所有‘物件’的情況(如:產生那些物件,及其數量)。 使用方法 jmap -histo pid。如果使用SHELL ,可採用jmap -hist

java高分局之jmap命令使用

jmap 命令用於生產堆轉儲快照 jhat 虛擬機器堆轉儲快照分析工具,jhat內建了一個微型的HTTP/HTML伺服器。 C:\Users\Administrator>jmap -dump:

在windows平臺,用jmap命令得到儲檔案

jmap命令在windows平臺和linux平臺下用法不一樣,本文說的是windows下的操作 先用jps找到目標程序的pid,比如是1345 然後用以下命令: jmap -dump:format=b,

java中jsonObject化為Map

public static void main(String[] args) {    final String str = "{\"45\":[119],\"44\":[119,118,117]}";    final Map<Integer,List<Integer>> label

java mapjava bean物件

map轉換為java bean物件 map格式Map<String,String> bean宣告在下面 寫這個東西的原因就是因為最近上班了,學/用java了,學習了心儀已久的java反射,這裡使用它來製作一個簡單的map轉java bean物件

java學習-【】JVM JSTAT命令的用法和引數講解

一、常用命令分析 1. jstat -gc pid 可以顯示gc的資訊,檢視gc的次數,及時間。 其中最後五項,分別是young gc的次數,young gc的時間,full gc的次數,full gc的時間,gc的總時間。 2.jstat -gccapacity pid 可以顯示,VM記憶體

java Obect map map Object 工具類

import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.math.BigDecimal; import java.math.BigInteger; import java.

java object互Map的三種方法

原文:http://www.open-open.com/code/view/1423280939826 /** * 使用org.apache.commons.beanutils進行轉換 */ class A { public stat

JAVA中jsonMap,jsonArrayList集合,List集合json

在寫程式碼時,經常會遇到各轉型別之間互相轉換,比如json轉換為Map,jsonArray轉List集合,List集合轉json,現在整理一個工具類,方便日後查閱。 import java.util.HashMap; import java.util.Iterator;

java xmlmap mapxml 帶屬性

參考效果:xml轉json java xml轉map Java程式碼   package xml2map;   import java.io.File;   import java.io.IOException;   import java.io.Strin