운영관리

CUBRID JAVA Stored Procedure의 GC로그 출력방법

by janus posted Dec 01, 2009

CUBRID JAVA Stored Procedure 또한 JVM을 사용하기 때문에 GC가 발생할 수 있다.

JAVA Stored Procedure를 많이 사용하는 환경이라면 FULL GC 혹은 GC가 발생하여 요청처리가 늦어 지거나 일시적인 hang현상이 발생할 수 있기 때문에 아래와 같이 GC로그를 발생시켜 로그분석이 필요하다.

 

1.    JAVA의 글로벌 옵션을 이용하여 GC로그 옵션을 부여한다.

Ex) export _JAVA_OPTIONS=”-Xloggc:gc.out -XX:+PrintGCDetails”

2.    DB를 구동시킨다.

EX) cubrid server demodb > echo.log

 

위의 –Xloggc 옵션을 부여하여 GC로그를 gc.out파일에 기록하도록 하였지만, 쉽게 육안확인이 어렵다.
PrintGCDetails 옵션을 이용하여 GC로그를 저장할 경우 2번의 파이프를 이용한 echo.log파일에 기록할 수 있다.

 아래예와 같이 echo.log파일이 기록된다.

   0.000: [GC 0.000: [DefNew: 511K->64K(576K), 0.0182344 secs]

        511K->153K(1984K), 0.0185255 secs]

   1.387: [GC 1.387: [DefNew: 417K->64K(576K), 0.0192086 secs]

        1.407: [Tenured: 217K->281K(1408K), 0.0725645 secs]

        506K->281K(1984K), 0.0923346 secs]

   1.559: [GC 1.559: [DefNew: 10K->3K(576K), 0.0044098 secs]

        1.564: [Tenured: 937K->941K(1408K), 0.0741569 secs]

        948K->941K(1984K), 0.0790573 secs]

   1.703: [GC 1.703: [DefNew: 510K->0K(576K), 0.0011627 secs]

        2107K->1597K(2808K), 0.0013820 secs]

 


Articles

4 5 6 7 8 9 10 11 12 13