2012-09-05 7 views
20

자바 스레드 덤프가 무엇인지 알고 싶습니다. 누군가 내가 덤프 덤프가 무엇인지, 그리고 실행중인 Java 프로그램과 어떤 관련이 있는지 이해할 수 있습니까?"스레드 덤프"의 의미는 무엇입니까

+2

그것은 문자 이름과 스택 (덤프 (등 잠겨 현탁 실행) 현재 스택 트레이스 및 스레드의 상태로 표시되는 프로그램이 실행 중입니다). 그것은 당신의 프로그램이하고있는 것을 해결하는데 도움을 줄 수 있습니다. VisualVM은 프로세스의 모든 스레드를 시각화하는 가장 좋은 방법 중 하나입니다. –

+5

* "나에게 몇 가지 지식을 나눠주세요."* 이러한 질문은 검색 엔진에 키워드를 넣어 대답 할 수 있습니다. 이 경우 "java + thread + dump"를 검색하십시오. –

+10

그냥 "스레드 덤프 의미"에 대한 인터넷 검색 및 첫 번째 결과는이 stackoverflow 질문을했습니다. 그게 stackoverflow 모든 종류의 개발자를위한 훌륭한 플랫폼을 만드는거야, 기본적인 질문은 낙담해서는 안됩니다. –

답변

23

Java 스레드 덤프는 JVM의 모든 스레드가 특정 시점에 수행중인 작업을 찾는 방법입니다. 이것은 부하가 걸릴 때 실행될 때 Java 응용 프로그램이 멈추는 것처럼 보이는 경우 덤프 분석에서 스레드가 멈추는 위치가 표시되기 때문에 특히 유용합니다.

kill -QUIT <pid>을 실행하고 을 실행하여 Ctl + Break을 실행하여 Unix/Linux에서 스레드 덤프를 생성 할 수 있습니다. Java Sanity

+0

"특정 시점에서"우리는 어떻게해서 덤프가 만들어지는 기간을 정의 할 수 있습니까? –

0

이 스레드 덤프의 상태의 출력 :

더 많은 정보 스레드 덤프 see here

를 만드는 방법을 알려면

JVM see here에서 스레드 덤프을하는 방법을 알고 프로그램이 실패한 시점에서 스택을 호출하십시오. 이것은 프로그램이 정확히 무엇을하고 있었는지 (그리고 그 이유)를 보여주기 때문에 프로그램에서 잘못되어 가고 싶다고 생각하게됩니다.

보고 싶은 스레드 덤프가 있습니까? http://www.javasanity.org/understandingthreaddumps에서

2

"A 스레드 덤프는 자바 가상 머신 (JVM)에서 현재 활성화 된 모든 자바 스레드의 목록입니다." (link)

통상리스트의 스레드