jstat
◦ jvm의상황을 모니터링 하는 프로그램
◦ Memory leak, 상태 확인
javap
◦ 해당 클래스 파일 메소드 변수 정보 출력
◦ 다른 사람의 자바 소스를 볼 때 유용
jstack
◦ thrad dump 생성
◦ Call stack, deadlock 정보 확인
◦ kill - 3
jmap
◦ Heap dump 생성
◦ jvm에 올라가 있는 모든 객체를 파일덤프로 남김
◦ 운영 서버가 멈추었을 때만 사용할 것 (그냥 사용하면 서비스 장애로 연결)
3
9
Profiling 정보는대개가 프로그램 최적화를 보조하기 위해 사용
프로그램의 성능, 메모리 사용량, 코드 커버리지 등을 확인 가능
많은 성능 저하를 발생시켜서 로컬 개발자 PC 및 개발 서버에서 사용해야 함
Profiling tool
◦ Jprofiler (ej-technologies)
◦ Java mission control
◦ YourKit
◦ Netbeans profiler
◦ XRebel
◦ DevPartner for Java
◦ Jprobe (Quest)
13
운영중인 시스템이비정상적인 동작을 할때, 원인을 찾기 위해 사용
어떤 장애가 발생했을 때 해당 장애와 관련된 자료를 수집하는 것이 가장 중요
MAT (Eclipse Memory Analyzer)
◦ http://www.eclipse.org/mat/
IBM HeapAnalyzer
BTrace
◦ 특정 장비에서만 이상이 있을때 , 실시간 운영중인 서버에 접속해서 확인 가능
◦ https://kenai.com/projects/btrace/pages/UserGuide
◦ http://d2.naver.com/helloworld/9042309
14.
1. Top 5Java Profilers Revealed: Real world data with
VisualVM, JProfiler, Java Mission Control, YourKit and
Custom
tooling.(https://zeroturnaround.com/rebellabs/top-5-
java-profilers-revealed-real-world-data-with-visualvm-
jprofiler-java-mission-control-yourkit-and-custom-
tooling/)
2. Java Tools and Technologies Landscape Report 2016
(https://zeroturnaround.com/rebellabs/java-tools-and-
technologies-landscape-2016/)
14
Editor's Notes
#5 어느 정도 틀이 갖춰진 조직이나, 예산이 충분한 경우에는 뒤도 안 돌아보고 파트너 불러다가 Load Runner돌린다.- 조대협 블로그에서.. -