JvisualVM에는 두 개의 플러그인이 있고, 하나는 샘플러이고 다른 하나는 프로파일 러입니다.JvisualVM의 샘플러와 프로파일 러의 차이점은 무엇입니까?
나는 비슷한 UI를 가지고있는 것으로 나타 났지만 결과에는 큰 차이가 있었기 때문에 그 차이점은 무엇입니까?
왜 큰 차이가 있습니까? 일반적으로
JvisualVM에는 두 개의 플러그인이 있고, 하나는 샘플러이고 다른 하나는 프로파일 러입니다.JvisualVM의 샘플러와 프로파일 러의 차이점은 무엇입니까?
나는 비슷한 UI를 가지고있는 것으로 나타 났지만 결과에는 큰 차이가 있었기 때문에 그 차이점은 무엇입니까?
왜 큰 차이가 있습니까? 일반적으로
:
그것은 당신에게 전체 호출 스택을 제공하므로 프로파일 러는 모든 시간을 실행; 어떤 주어진 시점에서.
샘플러는 특정 시점에 "스냅 샷"만 가져옵니다.
: 당신이 모든 것을 "프로파일"할 때, JVM이 상당히 느려집니다. 그리고 그것은이라는 엄청난 양의 데이터를 몇 초 안에 생성합니다. 생각해 보면 : 프로파일 러는 각각 과 메서드 호출을 기록합니다!
그래서 처음에는 샘플러를 사용합니다. 응용 프로그램 내에서 무슨 일이 일어나고 있는지 잘 모르는 경우입니다. 그리고 샘플이 당신에게 무엇인가를 말하기를 바랍니다. "이봐, 우리의 10000 샘플 내에서, 우리는 그 한가지 방법으로 대부분의 시간 동안, 왜 그런가?" 그러나 당신이 당신을 위해 "사냥"하고있는 것을 더 잘 이해하자마자, 어떤 방법으로 연결되는 전체 호출 체인을 포착하기 위해 전체 프로파일 러를 실행하려고 할 것입니다.
그리고 "중간계"- "모든 것"을 프로파일하지만, 은 제외하고 가지를 제외합니다. 다른 말로하면 : 대부분의 프로파일 러는 이 아니거나이 패키지의 클래스에 프로파일 메소드라고 말할 수있게합니다. 물론 패키지/계층 구조를 제외하면 조사 할 방향을 이미 꽤 잘 알고있을 때만 의미가 있습니다.
큰 소리로 들립니다. – Jason