Memandangkan aplikasi web berjalan dengan imej docker berasaskan JRE dalam kelompok Kubernetes, contoh: tomcat:9.0-jre11-temurin, maka mendapatkan dump thread tidaklah mudah kerana imej docker berasaskan JRE tidak termasuk alatan seperti jstack , jmap...
Kami boleh menggunakan alat jattach untuk menyelesaikan tugas kami. TLDR; jattach ialah alat padat yang ditulis dalam C oleh Andrei Pangin.
Mula-mula kita perlu memuat turun alat ke bekas:
Buka cangkerang dalam bekas:
kubectl -n default exec -it your-tomcat-pod -c your-tomcat-container -- bash
Muat turun jattach ke dir berfungsi
cd /working-dir curl -L -O https://github.com/apangin/jattach/releases/download/v2.2/jattach chmod +x jattach
Dari terminal anda buat pembuangan benang dan simpan dalam fail output
kubectl -n default exec your-tomcat-pod \ -c your-tomcat-container -- \ /working-dir/jattach 1 threaddump > thread-dump.txt
Kemudian anda boleh menggunakan alat jstack.review untuk menganalisis pembuangan benang.
Atas ialah kandungan terperinci Dapatkan pembuangan benang bekas Java yang dijalankan pada imej JRE Docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!