# Heap dump ``` oc exec -it <pod name> -- bash jcmd -l jmap -dump:[live],format=b,file=[file_path] [PID] ``` # Thread dump ``` oc exec -it <pod name> -- bash jcmd -l jstack -l <JAVA_PID> > jstack.out ``` # Copy sinopac heapdump ``` ## 用oc dubug 連線到Java Pod所在的節點 oc debug node/<node-name> chroot /host crictl ps | grep <pod-name> #用crictl取得container id sh-5.1# crictl ps | grep java e5ff85230d5be quay.io/rhn_support_jaliang/java-demo@sha256:238dd8da48f570d7a5dac6ad1e323e724dd38c231d2b1820b557fcbd68036bef 9 minutes ago Running java-demo 0 9b0f887294c66 java-demo-565798b655-wxgnk # 用inspect檢查container所在的root filesystem位置 sh-5.1# crictl inspect --output yaml e5ff85230d5be | grep sandbox_root sh-5.1# crictl inspect --output yaml e5ff85230d5be | grep root - pivot_root - chroot root: sh-5.1# crictl inspect --output yaml e5ff85230d5be | grep root -A1 - pivot_root - pkey_alloc -- - chroot - action: SCMP_ACT_ERRNO -- root: path: /var/lib/containers/storage/overlay/8e3b143b30946a4005f8d0b9b5e94d6b3d7cd8eb27a37ad2a9989b6347ecda9f/merged # <--- 這就是該Java container所在的檔案路徑 # 複製一份到/home目錄 cp /var/lib/containers/storage/overlay/8e3b143b30946a4005f8d0b9b5e94d6b3d7cd8eb27a37ad2a9989b6347ecda9f/diff/tmp/heap.hprof /home/core/heap.hprof # 於另一個terminal 用oc cp複製debug pod內的檔案 oc get pod -A | grep debug oc cp -n openshift-debug-9g7bw worker-0cubtestlabpsipnq2redhatcom-debug-sqr8f:/host/home/core/heap.hprof heap.hprof ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up