jmap 是 Java 提供的一个工具,用于生成 Java 应用程序的堆转储(heap dump)文件,以便进行内存分析。
# 语法 : K8S环境在容器内部执行 , 然后通过kubectl cp命令下载到本地
jmap -dump:format=b,file=<output-file> <pid>
# 范例
# jmap 文件名 PID
jmap -dump:file=master-cf5d9bf96-7r5v6.hprof 6
# 复制容器内文件到本地
kubectl cp -n default ecej-master-cf5d9bf96-2h2jj:/jstack.txt -c ecej-master .
kubectl cp -n default ecej-iot-auth-6888bbbcd7-w5lp7:/ecej-iot-auth-6888bbbcd7-w5lp7.hprof -c ecej-iot-auth .
format=b 表示生成的文件是二进制格式(hprof 文件)。
file=<output-file> 指定生成的堆转储文件的路径和文件名。
<pid> 是目标 Java 进程的进程 ID。