【发布时间】:2014-07-07 13:21:19
【问题描述】:
我正在尝试了解 visualvm 的输出(需要创建具有相同信息的控制台实用程序) - 但无法理解 - 哪些 Java 内存部分包含在“已用堆”?
例如 - 让我们采取:
$ jmap -heap 27200
Attaching to process ID 27200, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 20.45-b01
using thread-local object allocation.
Parallel GC with 4 thread(s)
Heap Configuration:
MinHeapFreeRatio = 40
MaxHeapFreeRatio = 70
MaxHeapSize = 1073741824 (1024.0MB)
NewSize = 1310720 (1.25MB)
MaxNewSize = 17592186044415 MB
OldSize = 5439488 (5.1875MB)
NewRatio = 2
SurvivorRatio = 8
PermSize = 21757952 (20.75MB)
MaxPermSize = 1073741824 (1024.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 352452608 (336.125MB)
used = 319379152 (304.5836944580078MB)
free = 33073456 (31.541305541992188MB)
90.61619768181713% used
From Space:
capacity = 2686976 (2.5625MB)
used = 2326528 (2.21875MB)
free = 360448 (0.34375MB)
86.58536585365853% used
To Space:
capacity = 2752512 (2.625MB)
used = 0 (0.0MB)
free = 2752512 (2.625MB)
0.0% used
PS Old Generation
capacity = 715849728 (682.6875MB)
used = 253887896 (242.1263656616211MB)
free = 461961832 (440.5611343383789MB)
35.46664698879371% used
PS Perm Generation
capacity = 185139200 (176.5625MB)
used = 126335488 (120.48291015625MB)
free = 58803712 (56.07958984375MB)
68.23810840707965% used
我的建议 - visualvm 的“Used heap”是:
Eden Space + From Space + To Space + Old Generation(没有Perm Generation - 因为它显示在其他选项卡上)
对吗?
【问题讨论】:
标签: java heap-memory visualvm