WEBLOGIC

Document Sample
WEBLOGIC
WEBLOGIC







? HP JVM에서 Heap 영역 상세 모니터링

Technical Tip









제 품 WEBLOGIC 7.0



사용 OS 모든 플랫폼(platform)



작 성 일 2002/10/24



이슈사항 웹로직과 같은 Java 기반 WAS들을 운용할 때 Heap 메모리의 할당 정책은 매우 중요하다.

너무 적으면 잦은 GC와 메모리 부족으로 인한 문제가 발생하지만, 반대로 너무 커도 시스템 메모리의 부족 현

상을 가져오거나 Full GC 시간이 길어져 양질의 서비스를 제공하기 어렵게 된다.





이러한 문제점들을 방지하기 위한 효율적인 방법은 시스템의 Heap 메모리 사용 현황을 자세히 모니터링 하여

꼭 필요한 메모리만을 할당하는 것이다. HP JDK 1.3부터는 이러한 모니터링 목적을 위한 한 가지 유용한 옵션

을 제공한다.



해 결 안 옵션을 사용하는 방법은 다음과 같다.



- Xverbosegc:file =



은 모니터링 결과가 저장될 로그 파일 이름이다. 여기에는 다음과 같이 파일 대신 콘솔 출

력을 지정할 수도 있다.





- Xverbosegc:file = stdout





다음은 이렇게 남긴 GC 모니터링 정보의 예이다.



























로그의 포맷은 다음과 같다.









78 www.bea .co.kr

Bea Enterprise Solution Technical News









해 결 안

%1 : GC가 발생한 이유를 나타낸다.









Technical Tip

-1: New Generation 영역을 비움(Minor GC)

0-6: Full GC를 의미(Heap 메모리에서 Garbage를 제거하여 공간을 확보)

0: Call to System.gc(프로그램 내에서 System.gc() 호출)

1: Old Generation full(Old Generation이 모두 찼음)

2: Permanent Generation full(Permanent Generation 영역에 대한 GC)

3: Train Generation full

4: Old generation expanded on last scavenge

5: Old generation too full to scavenge

6: FullGCAlot





%2: GC가 발생한 시간을 JVM이 기동한 이후부터의 상대 시간으로 표시





%3: GC가 발생한 회수(Full GC와 Minor GC가 별도로 관리 됨)





%4: GC 발생에 직접적인 원인이 된 메모리 요청의 크기





%5: 객체가 Old Generation으로 넘어가기 전에 New Generation에 머무를 수 있는 시간





Eden 영역(New Generation의 일부)

%6: GC 발생 이전의 크기

%7: GC 후 크기

%8: 영역의 전체 크기





Survivor 영역(New Gerneration의 일부)

%9: GC 발생 이전의 크기

%10: GC 후 크기

%11: 영역의 전체 크기





Old Generation 영역

%12: GC 발생 이전의 크기

%13: GC 후 크기

%14: 영역의 전체 크기





Permanent Generation(로딩된 클래스 정보 등 : Reflective Object)

%15: GC 발생 이전의 크기

%16: GC 후 크기

%17: 영역의 전체 크기

%18: GC에 소요된 시간





예를 들어 다음의 로그를 보자.













www.bea .co.kr 79

WEBLOGIC





해 결 안 첫 번째 숫자 5는 이번 GC가 Full GC임을 나타내며, 두 번째 숫자 126483.565799는 GC가 발생한 시간이

Technical Tip









JVM 기동 후 대략 35시간 후에 발생했음을 의미한다.





세 번째 숫자 69는 Full GC가 JVM 기동 후 69번째임을 나타내며, 네 번째 숫자 65040은 GC가 발생하게

된 직접적인 원인이 된 메모리 요청의 크기를 나타낸다.

286319560 0 286326784은 GC가 발생하기 전 Eden 영역이 거의 차 있던 상태에서 0으로 비워졌음을 나

타낸다. 22016584 0 35782656은 Survivor 영역이 GC 이전에 다 차 있지는 않았지만 역시 0으로 비워졌음

을 나타낸다.

409450496 457115384 715849728은 Old 영역의 크기가 대략 700MB이며, GC 이전에 400MB에서

459MB로약간 늘어났음을 나타낸다. 늘어난 이유는 바로 Survivor 영역이 비워지면서 Tenuring Threshold

를 넘긴 Long-Lived 객체들이 Old 영역으로 넘어오기 때문이다.

69333128 69333128 69468160는 로딩된 클래스들의 정보를 보관하는 Permanent Generation 영역의 이

용 상태를 나타낸다. 전체 크기는 대략 70MB인 것을 알 수 있다.

마지막의 2.950189는 GC 수행 시간이 대략 3초 가량임을 나타낸다.



추가정보 다음은 참고 사이트이다.





http://www1.sitraka.com/JUG/meetings/presentations/sep02/JUG%20Sept%202002.PPT

http://www.hp.com/products1/unix/java/java2/sdkrte1_3/infolibrary/vintage/sdk13001/documentatio

n.html

http://h21007.www2.hp.com/dspp/files/unprotected/JavaATC/JavaPerfTune/JPTpaper/Xverbosegc

AndExcelGraphs.pdf









80 www.bea .co.kr


Share This Document


Related docs
Other docs by terrible2
125VAC · 125VDC · Superflink FF
Views: 10  |  Downloads: 0
한국 조선산업의 경쟁력 진단
Views: 349  |  Downloads: 2
u s
Views: 6  |  Downloads: 0
인터넷 활용
Views: 4  |  Downloads: 0
Redford Lathe brochure
Views: 62  |  Downloads: 1
MySQL and SCAMP
Views: 32  |  Downloads: 1
by registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!