위키득계정 ↗
기술

VisualVM

VisualVM기술
주요 대상
Java 응용
주요 기능
관측과 프로파일링 및 덤프 분석
연결 대상
로컬과 원격 프로세스
분석 방식
샘플링과 계측
VisualVM은 Java 응용의 상태 관측과 성능 분석 및 덤프 조사를 한 화면에 연결하는 도구다. 실행 중인 프로세스의 CPU와 메모리 및 스레드를 살피고 기록된 스냅샷을 오프라인에서 분석할 수 있다.

프로세스와 실행 상태

로컬 Java 프로세스를 찾고 지원하는 원격 연결로 다른 장비의 응용을 관측한다. 실행 인자와 JVM 설정 및 시스템 속성 등의 정보를 보여 준다. CPU 사용과 가비지 수집 및 힙과 클래스 및 스레드 수의 변화도 살필 수 있다.

스레드와 메모리 조사

스레드의 실행과 대기 상태를 시간축으로 보고 스레드 덤프를 수집한다. 샘플링과 계측 방식의 프로파일러로 실행 비용과 메모리 사용을 분석한다. 힙 덤프를 만들거나 읽어 객체가 차지하는 메모리와 누수 원인을 조사할 수 있다.

덤프와 오프라인 기록

충돌한 Java 프로세스의 코어 덤프에서 기본 정보와 스레드 및 힙 기록을 추출해 조사할 수 있다. 응용 설정과 실행 환경 및 수집한 덤프와 프로파일을 스냅샷으로 저장하면 나중에 같은 자료를 오프라인에서 분석할 수 있다.

관련 문서

Eclipse Memory Analyzer / async-profiler / Java / 가비지 컬렉션 / 프로파일링 / 디버깅