티스토리 뷰
분석방법??
- Heap Dump 분석
- 정상작동중 서버와(Account), Pool Live 서버의 Heap Dump를 생성하여 비교
- 서버의 재시작 후 Heap Dump와 재시작후 며칠이 지난 상태의 Dump 비교
- 덤프방법 : # jmap -dump:format=b,file=<fileName> <PID>
- 분석도구 : eclipse-MemoryAnalyzer - JVM GC 관련 모니터링
- 체크방법 : # jstat -옵션 PID 반복시간(ms) 반복횟수
1) 1번서버
- Memory 16G.
- 자바옵션으로 메모리 설정하지 않음
- 아래는 GC 현황에 대한 가용률 대한 정보를 %로 확인하는 정보
위와 같은 결과를 확인할 수 있는데 결론적으로 메모리 점유율에 따른 오브젝트에 대한 분석을 통해선 정확한 원인을 파악하기 힘들었다.
FGC가 자주 일어나는것을 확인할 수 있다. 시스템 사양이 워낙 좋아 메모리튜닝을 하지 않아도 문제가 되지 않지만,
왠만하면 메모리에 대한 설정을 해주는것이 바람직하다. 메모리 튜닝에 대한것은 나중에 따로 정리할것.
2) 2번서버
- Memory 16G
- 자바옵션 -Xms6144m -Xmx10240m -XX:NewSize=512m -XX:MaxNewSize=1024m (Heap 사이즈와 New 영역에대해서만 정의)
힙사이즈에 대해 정의하고 New 영역에 대해 정의를 했더니 YGC와 FGC의 차이를 확인 할 수 있다.
한가지, Metaspace 영역에 대한 가용률이 98인데, 이부분에 대한 정리를 메뮤리 튜닝과 같이 정리할 것.
어쨌든 결론은 Pool 서버에선 GC동작에 대해선 특별한 문제점을 발견하기 힘들었다.
3. Thread Dump 분석
- 정상작동 서버의 Thread dump 와 Pool 서버의 Thread dump 비교
- 체크방법 : # jstack PID 또는 visualVM 툴 사용
분석도구??
1. Memory Analyzer
- heapdump 파일을 분석하여, 문제가 될만한 요소를 찾아 그래픽으로 표현해주는 도구
- 사용법은 분석하고자 하는 서버의 heapdump파일을 받아 툴에서 open 해주면 됨.
- http://www.eclipse.org/mat/
- 분석하고자 하는 서버의 heapdump 파일만 준비
2. VisualVM
- 서버의 cpu, memory, thread 현황등을 그래픽으로로 표현해주는 도구
- GC현황 모니터링 가능
- heapdump, threaddump 기능 지원
- thread의 현황 모니터링 가능
- 원격의 서버 모니터링 지원
- 사용법은 tomcat 실행시키면 visualvm에서 자동으로 프로세스를 감지하여 그래프로 보여줌.
- https://visualvm.java.net/
'프로그램 > JAVA' 카테고리의 다른 글
톰캣 common-dbcp (0) | 2016.10.18 |
---|---|
Troubleshooting 스레드사용법 (0) | 2016.10.12 |
자바 메모리 튜닝 (0) | 2016.10.12 |
Spring Controller required 속성 (0) | 2016.07.21 |
자바 버전 관리 및 운영 alternatives (0) | 2016.07.05 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Google ssh console
- jenkins asyncpeople
- mysql count
- jenkins remote api
- springboot server header
- jenkins user list
- 젠킨스 api
- mysql count 성능
- mybatis overload
- select count(*) performence
- 작은거에소스라치게놀라는나
- 스프링 마이바티즈 연동오류
- google vm ssh
- BeanCreationException
- a태그 onclick이벤트
- 인덱스 자료구조
- 원격접속 무료툴
- mysql 인덱스
- response server header
- common-dbcp
- spring mybatis
- 원격접속툴
- 객체지향언어 자바
- 스프링 크로스도메인
- oauth sso 차이
- java.lang.UnsatisfiedLinkError
- 젠킨스 윈도우 설치
- mybatis overloading
- nested exception is org.apache.ibatis.binding.BindingException\
- no net in java.library.path
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함