2016-09-23 2 views

답변

10

:

그것은 당신에게 전체 호출 스택을 제공하므로 프로파일 러는 모든 시간을 실행

; 어떤 주어진 시점에서.

샘플러는 특정 시점에 "스냅 샷"만 가져옵니다.

: 당신이 모든 것을 "프로파일"할 때, JVM이 상당히 느려집니다. 그리고 그것은이라는 엄청난 양의 데이터를 몇 초 안에 생성합니다. 생각해 보면 : 프로파일 러는 각각 메서드 호출을 기록합니다!

그래서 처음에는 샘플러를 사용합니다. 응용 프로그램 내에서 무슨 일이 일어나고 있는지 잘 모르는 경우입니다. 그리고 샘플이 당신에게 무엇인가를 말하기를 바랍니다. "이봐, 우리의 10000 샘플 내에서, 우리는 그 한가지 방법으로 대부분의 시간 동안, 왜 그런가?" 그러나 당신이 당신을 위해 "사냥"하고있는 것을 더 잘 이해하자마자, 어떤 방법으로 연결되는 전체 호출 체인을 포착하기 위해 전체 프로파일 러를 실행하려고 할 것입니다.

그리고 "중간계"- "모든 것"을 프로파일하지만, 은 제외하고 가지를 제외합니다. 다른 말로하면 : 대부분의 프로파일 러는 이 아니거나이 패키지의 클래스에 프로파일 메소드라고 말할 수있게합니다. 물론 패키지/계층 구조를 제외하면 조사 할 방향을 이미 꽤 잘 알고있을 때만 의미가 있습니다.

+0

큰 소리로 들립니다. – Jason

관련 문제