VisualVM:: jvm 모니터링 도구 (java 모니터링)
동기
대용량 엑셀파일 다운로드로기능으로 인해 OOM이발생. 이를 방지하기위한 대책마련을위해조사
개발에 들어가기전에, 개발한것이 효과가 있는지 로컬에서 테스트 해보려고함
도구
- 이름 : VisualVM
- 현재 버전 : 1.4.2
- 다운로드 : https://visualvm.github.io/download.html
- 시작하기 : https://visualvm.github.io/gettingstarted.html
시작하기 (windows 기준입니다)
- 다운로드한다.
- 압축을푼다.
- 적당한 위치에 옮긴다
- cmd를 통해 실행한다
- jdk 위치를 미리파악해둔다
- 설정 등 유저데이터 저장할곳을 미리 선정해둔다
1 | visualvm.exe --jdkhome "${jdkPath}" --userdir "${userPath}" |
실제예시
1 | C:\visualvm_142\bin\visualvm.exe --jdkhome "D:\APPS\jdk" --userdir "C:\Temp\visualvm_userdir" |
- 실행확인
사용하기
- intellij 등 ide에서 테스트하고자 하는 application 실행
- 원하는 항목 선택해서 확인하기
GC
실제로 사용중인 메모리 영역은 GC가 되지 않는다.
실험 전 GC를 실행하여 초기화를 해놓고, 실행중에도 GC를 수행하여 특정시점에 실제로 사용하는 메모리가 얼마인지 확인하도록 하자.