jVisualVM에서 샘플링과 프로파일 링의 차이점


158

VisualVM에는 샘플링 및 프로파일 링을위한 두 개의 별도 탭이 있습니다. VisualVM에서 샘플링과 프로파일 링의 차이점은 무엇입니까?

답변:


182

Sampling많은 스레드 덤프를 가져오고 스택 추적을 분석하는 것을 의미합니다. 이것은 일반적으로 더 빠르며 바이트 코드에서 런타임 변경이 필요하지 않지만 (이를 깨뜨릴 수 있음) 덜 정확합니다.

Profiling수단 인스트루먼트 당신의 클래스와 메소드를, 그래서 그들은 실행할 때마다 그들은 "보고서". 덤프가 완료 될 때 포착 된 메소드뿐만 아니라 인스트루먼트 된 메소드의 모든 호출을 계산하므로보다 정확합니다. 그러나 계측은 클래스의 바이트 코드가 변경되어 프로그램을 중단시킬 수 있음을 의미합니다. 실제로 이러한 이유로 JBoss 또는 WebLogic과 같은 대규모 응용 프로그램 서버에서 프로파일 링을 사용하면 모든 것이 중단되거나 중단되는 경우가 종종 있습니다.


2
프로파일 링이 샘플링보다 정확하지만 더 많은 리소스가 필요합니까?
Parag

10
나는 나쁜 수행 방법을 정확하게 찾기 위해 그것을 사용할 때마다 샘플링이 충분히 정확하다는 것을 알았습니다. 나는 개인적으로 프로파일 링을 사용하지 않습니다.
Marquez
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.