0%

jcmd

jcmd 拥有 jmap 绝大部分功能, 官方也建议用 jcmd 替代 jmap.

1
2
3
4
5
6
7
8
9
10
11
12
13
# 列出所有本地 JVM 进程
jcmd -l

# 输出 jvm 中支持的所有命令
jcmd $pid help

# dump jvm 内存情况
# 类似于 `jmap -dump:format=b,file=heapdump $pid`
# 除非设置 -all 选项, 否则会触发一次 full gc
jcmd $pid GC.heap_dump <file-path>

# 堆外内存分析
jcmd $pid VM.native_memory [summary | detail | baseline | summary.diff | detail.diff | shutdown] [scale= KB | MB | GB]

1. 注意事项

jmap 和 jcmd dump 文件的时候会触发 FGC , 使用的时候注意场景.