티스토리 뷰
[linux][Jstat으로 JVM heap memory 모니터링하기]
1. jstat 수행 방법
- 우선 모니터링 하고자 하는 프로세스의 ID 를 확인합니다.
확인하는 방법은 ps -ef | grep java 로 확인을 해도 되고,
프롬프트 상태에서 jps 라고 입력한 뒤 엔터를 치면 해당 JVM에서 수행된 프로세스의 ID를 보여줍니다.
(jps 사용시에는 PATH에 해당 JDK가 설정되어 있어야 합니다.
- 두번째로 jstat 명령을 수행 합니다.
jstat -gcutil -h20 -t 7251 3000 3000
-> gcutil : gcutil 에 대해서 수행
-> -h20 : 20라인마다 header 찍음
-> -t : time stamp 프린트(JVM 이 스타트 된 이후의 시간)
-> 7251 : 프로세스 id
-> 3000 : interval (ms 단위)
-> 3000 : count
2. 각각의 항목 설명
- S0 : Survivor 영역 0 의 사용율 (현재의 용량에 대한 퍼센티지)
- S1 : Survivor 영역 1 의 사용율 (현재의 용량에 대한 퍼센티지)
- E : Eden 영역의 사용율 (현재의 용량에 대한 퍼센티지)
- O : Old 영역의 사용율 (현재의 용량에 대한 퍼센티지)
- P : Permanent 영역의 사용율 (현재의 용량에 대한 퍼센티지)
- YGC : Young 세대의 GC 이벤트수
- YGCT : Young 세대의 가베지 콜렉션 시간
- FGC : 풀 GC 이벤트수
- FGCT : 풀 가베지 콜렉션 시간
- GCT : 가베지 콜렉션총시간
3. 샘플
>jstat -gcutil 21891 250 7
S0 S1 E O P YGC YGCT FGC FGCT GCT
12.44 0.00 27.20 9.49 96.70 78 0.176 5 0.495 0.672
12.44 0.00 62.16 9.49 96.70 78 0.176 5 0.495 0.672
12.44 0.00 83.97 9.49 96.70 78 0.176 5 0.495 0.672
0.00 7.74 0.00 9.51 96.70 79 0.177 5 0.495 0.673
0.00 7.74 23.37 9.51 96.70 79 0.177 5 0.495 0.673
0.00 7.74 43.82 9.51 96.70 79 0.177 5 0.495 0.673
0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673
이 예의 출력은, Young 세대의 콜렉션이 3 번째와 4 번째의 샘플간에 행해진 것을 나타내고 있습니다.
콜렉션에는 0.001 초 걸리고 있어 오브젝트가 Eden 영역 (E)으로부터 Old 영역 (O)에 승격했기 때문에,
Old 영역의 사용율은 9.49% 에서 9.51% 에 증가하고 있습니다.
Survivor 영역은, 콜렉션전은 12.44% 가 사용되고 있었습니다만, 콜렉션 후는 7.74% 밖에 사용되고 있지 않습니다.
실시간으로 메모리 사용을 좀 확인해야 하는 상황에서는 위와 같이 jstat 로 간단하게 모니터링을 수행하면
현재의 JVM 메모리 사용 상황을 확인이 가능할 것 같습니다.
가장 정확한 건 GC 로그를 별도의 파일로 출력하게 해서 분석하는 것이지만, 이럴 경우에는 실시간으로 확인이 힘들기 때문에
위와 같이 사용하는 것도 괜찮은 방법 중의 하나일 것 같습니다.
물론 JVM 에 계속 request 를 보내기 때문에 부하가 있을 듯 하지만, 지금 생각으로는 크게 영향은 미치지 않을 듯 하네요..
영향이 고려되면 interval을 좀 조정하든지 하면 될 듯 합니다.
<참고>
http://blog.naver.com/PostView.nhn?blogId=solvage&logNo=10038025715
'[IT] > 리눅스' 카테고리의 다른 글
[linux][vi 편집기에서 화면이동] (0) | 2013.05.04 |
---|---|
[linux][명령어 백그라운드 실행] (0) | 2013.05.04 |
[linux][touch 파일의 날짜시간정보 변경] (0) | 2013.04.23 |
[linux][윈도우에서 cygwin 설치하기] (0) | 2013.04.17 |
[linux][sed 명령어에서 태그 사용하기] (0) | 2013.04.13 |
- Total
- Today
- Yesterday
- 치노
- 믹스 블로그
- 스포토리
- 분당 JJ
- [NeW] 한밤의 연예가 섹션 2.0
- 낭만얼리엄의 dream factory
- 흐르는 강물처럼..
- 서른 살의 철학자, 여자
- 런던포인터닷컴(에핑그린)
- 탐진강의 함께 사는 세상 이야기
- 김문기의 PhotoLand 입니다~^^
- 고양이 책방
- 아이돌박스
- 웅크린 감자의 리뷰
- 맛순이
- 푸드앤카페
- 포투의 기사
- 공간IT
- 희망을 보고, 나는 쓰네
- 딘델라의 세상보기
- 내가 숨 쉬는 공간의 아름다움
- 고요한 산사의 풍경소리
- KooJinWook
- 설리아닷컴
- 서른 살의 철학자, 여자
- Happy Virus!!! :: 추억의 시티폰 VS 추…
- Happy Virus!
- INFORMATION FACTORY
- Home: WorkingUS.com
- 피오나의 아름다운 이야기 모음.
- 시사인
- Bloter.net
- 유저스토리북
- 트윗믹스
- 트렌드믹스
- 펫러브즈미
- 네이버오픈캐스트
- 위자드팩토리
- 블로그 쉐어
- 애드젯
- 아파트투유
- Travel&Life LOTTEJTB
- 오라클클럽
- 오픈후르츠
- SLRCLUB, 디지털 사진가를 위한 커뮤니티
- 처절한 몸부림(헬스트레이너)
- 테너 이강호 홈페이지
- 라벨라오페라 학교
- Go! classic 고전음악 애호가들을 위한 공간
- Ceramic Palace Hall
- 음악춘추사 공식 홈페이지
- 클래식코리아™ 대한민국 클래식 1위
- Soprano Eunbok Lee
- 한국야구위원회
- 아프리카 스포츠TV
- KBSN 아나운서 블로그
- Twitter / yeonjae0528
- 금융감독원
- 한국소프트웨어산업협회
- 산림청 대표 블로그 "푸르미의 산림이야기"
- 하루하나
- 무늬만 개발자 -All of Software-
- 커니의 안드로이드 이야기 - Android Human
- Being Myself
- 신규하 블로그
- 신세계뮤직21(포토샵)
- 녹두장군 - 안드로이드, 아이폰, C#, VC++, …
- 조대협의 블로그
- 클리앙
- 수영
- 영상
- 슬라이딩
- 개콘
- 포토
- 핫뉴스
- 강습
- 개그콘서트
- 풀버전
- 다시보기
- 화제의 시구
- IT
- TOP밴드
- 탑밴드
- Top밴드2
- 선거
- 총선
- 야구
- 사회
- 핫이슈
- 탑밴드2
- 정치
- 300초
- 뜨는 사진
- 경제
- 시구
- 소식
- 사진
- 화제
- 문화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |