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


158

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

답변:


182

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

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


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

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