본문 바로가기

jvisualvm2

Java VisualVM의 Sampler와 Profiler 사용법 / JVisualVM's Sampler and Profiler 자바 어플리케이션의 성능과 관련된 문제를 해결하거나 CPU와 메모리의 사용량과 관련된 모니터링을 위해서 가장 쉽게 접근할 수 있는 툴은 VisualVM일 것이다. 오늘은 Java VisualVM의 Sampler와 Profiler를 보는 법에 대해서 간략히 정리하고자 한다. Sampler와 Profiler 모두 자바 어플리케이션의 CPU와 메모리 사용량을 분석하는 툴이지만 그 동작 방식에서는 차이를 보인다. Sampling 샘플링은 주기적(20 ms ~ 10000 ms)으로 메소드 콜 정보(스레드 덤프 사용)와 메모리 사용 정보를 스냅샷하고 그 결과를 분석하여 메서드 별 혹은 스레드 별 CPU 실행 시간을 수집하는 것을 말한다. 그렇기 때문에 정확한 분석은 아니지만 분석 대상 어플리케이션의 성능에 큰 영향.. 2020. 6. 20.
JAVA 스레드 덤프와 VisualVM (1) / Thread Dump, VisualVM, Sampler/Profiler, FastThread.io 이 글은 자바로 작성된 프로그램(프로세스)에 대해서 아래의 질문에 대한 힌트를 찾기 위한 방법을 설명하고자 작성되었다. 프로그램이 잘 실행되고 있는 것인가? 왜 프로그램의 특정 기능이 응답이 없지? 왜 프로그램이 멈춰 있지? 왜 프로그램의 성능(응답)이 느리지? 왜 프로그램이 CPU를 많이 사용할까? 프로그램의 성능을 향상할 수 있는 방법이 있을까? 프로그램의 CPU 자원 사용량이 많은 코드를 찾을 수 있을까? 자바의 스레드와 관련된 이슈를 해결하거나 모니터링을 위해서는 자바 스레드의 동작 방식을 이해하고 다양한 분석 툴을 손쉽게 다룰 줄 알아야 한다. 스레드 모니터링을 위해서 알아야 할 스레드의 기본적인 개념들과 모니터링 툴을 사용하여 분석하는 방법에 대해서 공유하고자 한다. 자바 기본 스레드의 종류와.. 2020. 6. 17.