jmap -heap pid 命令详解
时间: 2023-04-26 16:01:26 浏览: 246
jmap -heap pid 命令用于打印Java进程的堆内存信息,其中pid为Java进程的进程号。该命令会输出以下信息:
1. Attaching to process ID pid, please wait...
表示正在连接到Java进程。
2. Debugger attached successfully.
表示连接成功。
3. Server compiler detected.
表示Java进程使用的是Server编译器。
4. Using thread-local object allocation.
表示Java进程使用的是线程本地对象分配。
5. Heap Configuration:
MinHeapFreeRatio =
MaxHeapFreeRatio = 100
MaxHeapSize = 1073741824 (1024.MB)
NewSize = 131072 (1.25MB)
MaxNewSize = 17592186044415 MB
OldSize = 5439488 (5.1875MB)
NewRatio = 2
SurvivorRatio = 8
MetaspaceSize = 21807104 (20.796875MB)
CompressedClassSpaceSize = 1073741824 (1024.MB)
MaxMetaspaceSize = 17592186044415 MB
G1HeapRegionSize = (.MB)
表示Java进程的堆内存配置信息,包括最小和最大堆空闲比例、最大堆大小、新生代大小、老年代大小、新生代和老年代的比例、元空间大小、压缩类空间大小、最大元空间大小和G1堆区域大小。
6. Heap Usage:
PS Young Generation
Eden Space:
capacity = 279183360 (266.MB)
used = 2097152 (2.MB)
free = 277086208 (264.MB)
.7500000000000001% used
From Space:
capacity = 3670016 (3.5MB)
used = (.MB)
free = 3670016 (3.5MB)
.% used
To Space:
capacity = 3670016 (3.5MB)
used = (.MB)
free = 3670016 (3.5MB)
.% used
PS Old Generation
capacity = 715849728 (682.5MB)
used = (.MB)
free = 715849728 (682.5MB)
.% used
表示Java进程的堆内存使用情况,包括新生代和老年代的使用情况。
7. interned Strings occupying bytes.
表示Java进程中没有字符串常量池。
8. 并且会输出一些GC相关的信息,如下:
PSYoungGen total 279183360K, used 2097152K [x00000007b000000, x00000007d000000, x000000080000000)
eden space 266240K, % used [x00000007b000000,x00000007b000000,x00000007bfe80000)
from space 3584K, % used [x00000007bfe80000,x00000007bfe80000,x00000007c018000)
to space 3584K, % used [x00000007c018000,x00000007c018000,x00000007c048000)
ParOldGen total 715849728K, used K [x00000005c000000, x00000007b000000, x00000007b000000)
object space 715849728K, % used [x00000005c000000,x00000005c000000,x00000007b000000)
Metaspace used 21807K, capacity 22132K, committed 22272K, reserved 1081344K
class space used 238K, capacity 2432K, committed 2432K, reserved 1048576K
以上就是jmap -heap pid命令的详解。
阅读全文