Java通过jvm自己管理内存,同时Java提供了一些命令行工具,用于查看内存使用情况。
这里主要介绍一下jstat、jmap命令以及相关工具。
标志
|
说明
|
S0C
|
年轻代中第一个survivor区的容量 (字节)
|
S1C
|
年轻代中第二个survivor区的容量 (字节)
|
S0U
|
年轻代中第一个survivor区目前已使用空间 (字节)
|
S1U
|
年轻代中第二个survivor区目前已使用空间 (字节)
|
EC
|
年轻代中Eden的容量 (字节)
|
EU
|
年轻代中Eden目前已使用空间 (字节)
|
OC
|
Old代的容量 (字节)
|
OU
|
Old代目前已使用空间 (字节)
|
PC
|
Perm(持久代)的容量 (字节)
|
PU
|
Perm(持久代)目前已使用空间 (字节)
|
YGC
|
从应用程序启动到采样时年轻代中gc次数
|
YGCT
|
从应用程序启动到采样时年轻代中gc所用时间(s)
|
FGC
|
从应用程序启动到采样时old代(全gc)gc次数
|
FGCT
|
从应用程序启动到采样时old代(全gc)gc所用时间(s)
|
GCT
|
从应用程序启动到采样时gc用的总时间(s)
|
NGCMN
|
年轻代(young)中初始化(最小)的大小 (字节)
|
NGCMX
|
年轻代(young)的最大容量 (字节)
|
NGC
|
年轻代(young)中当前的容量 (字节)
|
OGCMN
|
old代中初始化(最小)的大小 (字节)
|
OGCMX
|
old代的最大容量 (字节)
|
OGC
|
old代当前新生成的容量 (字节)
|
PGCMN
|
perm代中初始化(最小)的大小 (字节)
|
PGCMX
|
perm代的最大容量 (字节)
|
PGC
|
perm代当前新生成的容量 (字节)
|
S0
|
年轻代中第一个survivor区已使用的占当前容量百分比
|
S1
|
年轻代中第二个survivor区已使用的占当前容量百分比
|
E
|
年轻代中Eden已使用的占当前容量百分比
|
O
|
old代已使用的占当前容量百分比
|
P
|
perm代已使用的占当前容量百分比
|
S0CMX
|
年轻代中第一个survivor区的最大容量 (字节)
|
S1CMX
|
年轻代中第二个survivor区的最大容量 (字节)
|
ECMX
|
年轻代中Eden的最大容量 (字节)
|
DSS
|
当前需要survivor区的容量 (字节)(Eden区已满)
|
TT
|
持有次数限制
|
MTT
|
最大持有次数限制
|
grant codebase " file:$JAVA_HOME/lib/tools.jar " {
permission java.security.AllPermission;
};
|
$ jmap -heap 2083 |
$ jmap -dump:format=b,file=heapdump.hprof |
$ jmap -histo 2083 | jmap -histo:live 2083 |
JVM version is 25.65-b01 using parallel threads in the new generation. using thread-local object allocation. Concurrent Mark-Sweep GC Heap Configuration: MinHeapFreeRatio = 40 MaxHeapFreeRatio = 70 MaxHeapSize = 8388608000 (8000.0MB) NewSize = 2006515712 (1913.5625MB) MaxNewSize = 2006515712 (1913.5625MB) OldSize = 90636288 (86.4375MB) NewRatio = 2 SurvivorRatio = 8 MetaspaceSize = 21807104 (20.796875MB) CompressedClassSpaceSize = 1073741824 (1024.0MB) MaxMetaspaceSize = 17592186044415 MB G1HeapRegionSize = 0 (0.0MB) Heap Usage: New Generation (Eden + 1 Survivor Space): capacity = 1805910016 (1722.25MB) used = 788045040 (751.5383148193359MB) free = 1017864976 (970.7116851806641MB) 43.637004779755316% used Eden Space: capacity = 1605304320 (1530.9375MB) used = 630378472 (601.1757583618164MB) free = 974925848 (929.7617416381836MB) 39.26847166274367% used From Space: capacity = 200605696 (191.3125MB) used = 157666568 (150.36255645751953MB) free = 42939128 (40.94994354248047MB) 78.59525982751757% used To Space: capacity = 200605696 (191.3125MB) used = 0 (0.0MB) free = 200605696 (191.3125MB) 0.0% used concurrent mark-sweep generation: capacity = 6382092288 (6086.4375MB) used = 4612472232 (4398.79630279541MB) free = 1769620056 (1687.6411972045898MB) 72.27210174745753% used 18841 interned Strings occupying 1633048 bytes. |