반응형

IBM JVM의 heap 영역에는 LOA(Large Object Area)라는 영역이 있다.

기본적으로 전체 Heap size의 5%를 차지하는데, AP의 특성상 비교적 큰 객체(5MB이상)의 생성이

빈번한 경우에는 이 영역을 늘려줄 필요가 있다.

-Xloratio0.3

위와 같이 옵션을 적용하면 Java Heap 메모리중 LOA영역을 30% 잡게 된다.

위 옵션적용에 따른 GC로그 형태 변화는 다음과 같다.

1) 일반적으로 Heap 메모리만 설정한 경우
      위에서와 같이 전체 Java Heap 메모리와 free Heap 메모리만 나옵니다.
 jeusic@dtotch1[TEST] /sw/jeusic> java -verbose:gc -Xms64m -Xmx64m  a            
[ JVMST080: verbosegc is enabled ]
[ JVMST082: -verbose:gc output will be written to stderr ]
  <GC[0]: Expanded System Heap by 65536 bytes
  <GC(1): GC cycle started Tue Jun 12 10:32:59 2007
  <GC(1): freed 269696 bytes, 98% free (66059528/67041792), in 14 ms>
  <GC(1): mark: 7 ms, sweep: 1 ms, compact: 6 ms>
  <GC(1): refs: soft 0 (age >= 32), weak 0, final 1, phantom 0>
  <GC(1): moved 4571 objects, 489408 bytes, reason=4>
 
 
 
  2) -Xratio 옵션 적용한 경우
      위에서와 같이 전체 Java Heap 메모리와 free Heap 메모리이외에 LOA영역이 별도로 나옵니다.
 
jeusic@dtotch1[TEST] /sw/jeusic> java -verbose:gc -Xms64m -Xmx64m  -Xloratio0.2 a
[ JVMST080: verbosegc is enabled ]
[ JVMST082: -verbose:gc output will be written to stderr ]
  <GC[0]: Expanded System Heap by 65536 bytes
  <GC(1): GC cycle started Tue Jun 12 10:33:35 2007
  <GC(1): heap layout: (52651168/53633432) (13408360/13408360)  /0><== LOA 영역 별도 표시
  <GC(1): freed 269696 bytes, 98% free (66059528/67041792), in 14 ms>
  <GC(1): mark: 6 ms, sweep: 2 ms, compact: 6 ms>
  <GC(1): refs: soft 0 (age >= 32), weak 0, final 1, phantom 0>
  <GC(1): moved 4571 objects, 489408 bytes, reason=4>

Heap 메모리가 충분한대도 GC가 빈번하게 일어나고 있고,
또한 비교적 큰 객체(5MB정도)를 생성할때 빈번하게 Allocation Failure 가 일어나는 경우에
-Xratio 옵션을 적용하면 문제를 해결 할 수 있다.

 

 

출처 : http://ijbaek.tistory.com

반응형

'OS > AIX' 카테고리의 다른 글

AIX VNC 설정하기  (2) 2012.07.26
AIX 칩입 확인 해보자 !  (0) 2011.03.23
날짜 관련 얻기  (0) 2011.03.02
AIX 5.3 OPENSSH INSTALL  (0) 2011.02.16
bff 파일 설치 (AIX)  (0) 2010.12.08

+ Recent posts