Kubernetes 클러스터에서 JRE 기반 도커 이미지(예: tomcat:9.0-jre11-temurin)로 실행되는 웹 앱의 경우 JRE 기반 도커 이미지에 jstack과 같은 도구가 포함되어 있지 않기 때문에 스레드 덤프를 가져오는 것이 쉽지 않습니다. , jmap...
Jattach 도구를 사용하여 작업을 완료할 수 있습니다. TLDR; jattach는 Andrei Pangin이 C로 작성한 컴팩트 도구입니다.
먼저 컨테이너에 도구를 다운로드해야 합니다.
컨테이너의 껍질을 엽니다.
kubectl -n default exec -it your-tomcat-pod -c your-tomcat-container -- bash
작업 디렉토리에 jattach를 다운로드하세요
cd /working-dir curl -L -O https://github.com/apangin/jattach/releases/download/v2.2/jattach chmod +x jattach
터미널에서 스레드 덤프를 생성하고 출력 파일에 저장합니다
kubectl -n default exec your-tomcat-pod \ -c your-tomcat-container -- \ /working-dir/jattach 1 threaddump > thread-dump.txt
그런 다음 jstack.review 도구를 사용하여 스레드 덤프를 분석할 수 있습니다.
위 내용은 JRE Docker 이미지에서 실행되는 Java 컨테이너의 스레드 덤프 가져오기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!