jmap介绍 离线分析命令jmap -dump:live,format=b,file=output.hprof pid

jmap:查看整个堆及内存对象
基本用法:
jmap [-option] pid
重点用法:
to print same info as Solaris pmap
-heap to print java heap summary
-histo[:live] to print histogram of java object heap; if the “live”
suboption is specified, only count live objects
-finalizerinfo to print information on objects awaiting finalization

查看堆内存: jmap -heap pid

/nemo/jdk/bin/jmap -heap 239637

Attaching to process ID 239637, please wait…
Debugger attached successfully.
Server compiler detected.
JVM version is 24.65-b04

using thread-local object allocation.
Parallel GC with 4 thread(s)

Heap Configuration:(堆配置参数,一般是由启动指定)
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 3221225472 (3072.0MB)
NewSize = 1310720 (1.25MB)
MaxNewSize = 17592186044415 MB
OldSize = 5439488 (5.1875MB)
NewRatio = 2
SurvivorRatio = 8
PermSize = 21757952 (20.75MB)
MaxPermSize = 268435456 (256.0MB)
G1HeapRegionSize = 0 (0.0MB)

Heap Usage:(当前堆的使用情况)
PS Young Generation
Eden Space:
capacity = 694681600 (662.5MB)
used = 601048312 (573.2043380737305MB)
free = 93633288 (89.29566192626953MB)
86.52140952056308% used
From Space:
capacity = 10485760 (10.0MB)
used = 2850816 (2.71875MB)
free = 7634944 (7.28125MB)
27.1875% used
To Space:
capacity = 9961472 (9.5MB)
used = 0 (0.0MB)
free = 9961472 (9.5MB)
0.0% used
PS Old Generation
capacity = 1431830528 (1365.5MB)
used = 120644408 (115.05547332763672MB)
free = 1311186120 (1250.4445266723633MB)
8.42588599982693% used
PS Perm Generation
capacity = 71827456 (68.5MB)
used = 71416272 (68.10786437988281MB)
free = 411184 (0.3921356201171875MB)
99.42753924070483% used

41145 interned Strings occupying 5023944 bytes.

/nemo/jdk/bin/jmap -histo 239637

对象的个数 对象占用的字节数 类名

num #instances #bytes class name

1: 172505 215674400 [B
2: 1747475 184431640 [C
3: 3434327 89150104 [Ljava.lang.Object;
4: 3138276 75804224 [Ljava.lang.String;
5: 1056366 25352784 java.lang.String
6: 37782 17923296 [I
7: 120814 16995312
8: 120814 15477472
9: 12792 14843440
10: 12471 8735960
11: 10879 7859744
12: 219728 7031296 java.lang.StackTraceElement
13: 164575 5266400 java.io.FileOutputStream
14: 212413 5097912 java.io.FileDescriptor
15: 203088 4874112 java.lang.StringBuffer
16: 298610 4777760 java.lang.Integer
17: 266729 4267664 java.lang.Object
18: 124636 3988352 java.util.HashMap E n t r y 19 : 1230073936224 j a v a . u t i l . A r r a y L i s t Entry 19: 123007 3936224 java.util.ArrayList Entry19:1230073936224java.util.ArrayListItr
20: 159025 3816600 java.lang.StringBuilder
21: 148679 3568296 java.util.ArrayList
22: 212994 3407904 java.util.concurrent.atomic.AtomicInteger
23: 25295 2665944 [Ljava.util.HashMap E n t r y ; 24 : 628122512480 j a v a . u t i l . H a s h M a p Entry; 24: 62812 2512480 java.util.HashMap Entry;24:628122512480java.util.HashMapKeyIterator
25: 73859 2363488 java.util.concurrent.locks.AbstractQueuedSynchronizer N o d e 26 : 218072321368 [ L j a v a . l a n g . S t a c k T r a c e E l e m e n t ; 27 : 716722293504 j a v a . u t i l . c o n c u r r e n t . C o n c u r r e n t H a s h M a p Node 26: 21807 2321368 [Ljava.lang.StackTraceElement; 27: 71672 2293504 java.util.concurrent.ConcurrentHashMap Node26:218072321368[Ljava.lang.StackTraceElement;27:716722293504java.util.concurrent.ConcurrentHashMapHashEntry
28: 3638 2086128
29: 38223 1834704 java.util.HashMap
30: 74605 1790520 cn.seczone.iast.thirdparty.org.apache.http.util.CharArrayBuffer
31: 26631 1706960 [S
32: 34762 1668576 java.lang.management.MemoryUsage
33: 20738 1659040 java.lang.reflect.Method
34: 12995 1552552 java.lang.Class
35: 12094 1354528 java.net.SocksSocketImpl

当前正在回收的情况

/nemo/jdk/bin/jmap -finalizerinfo 239637

Attaching to process ID 239637, please wait…
Debugger attached successfully.
Server compiler detected.
JVM version is 24.65-b04
Number of objects pending for finalization: 0

产生dump文件线下分析 -dump
**

jmap -dump:live,format=b,file=output.hprof pid

**

你可能感兴趣的:(java,jmap,java,内存)