jmap 是 Java 提供的一個(gè)工具,用于生成 Java 應(yīng)用程序的堆轉(zhuǎn)儲(heap dump)文件,以便進(jìn)行內(nèi)存分析。
# 語法 : K8S環(huán)境在容器內(nèi)部執(zhí)行 , 然后通過kubectl cp命令下載到本地
jmap -dump:format=b,file=<output-file> <pid>
# 范例
# jmap 文件名 PID
jmap -dump:file=master-cf5d9bf96-7r5v6.hprof 6
# 復(fù)制容器內(nèi)文件到本地
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 表示生成的文件是二進(jìn)制格式(hprof 文件)。
file=<output-file> 指定生成的堆轉(zhuǎn)儲文件的路徑和文件名。
<pid> 是目標(biāo) Java 進(jìn)程的進(jìn)程 ID。