Skip to end of metadata
Go to start of metadata

 

GC


GC 정보를 확인하기 위한 각 모니터링 요소에 대응하는 쿼리는 아래와 같다.

 

 

[GC01] 메모리 DB GC gap[맨 위로]

  • 알티베이스 4 이상 버전에서 사용할 수 있다.  

  • 주요 컬럼 설명

    GC_NAMEGC의 이름으로 2개가 존재한다. MEM_LOGICAL_AGER는 인덱스의 old version을 삭제하는 GC이며 MEM_DELTHR는 테이블 레코드의 old version을 삭제하는 GC다.
    SCNOFTAILGC에 의해 확인된 삭제해야 할 old version 중 가장 최신 version의 번호
    MINMEMSCNINTXS가장 오래된 old version의 번호
    GC_GAP각 GC가 삭제해야 할 old version의 양의 의미하는 것으로 이 값이 클수록 삭제해야 할 old version의 양이 많다는 의미이다. 이때 scnoftail > minmemscnintxs 이면 active 트랜잭션 때문에 삭제를 진행하지 못하는 것이고, 반대로 scnoftail < minmemscnintxs 이면 삭제는 계속 진행 중이지만 계속되는 갱신 트랜잭션의 완료로 인해 삭제해야 할 old version이 증가하고 있는 상황으로 판단할 수 있다.

 

[GC02] 메모리 DB GC가 대기하고 있는 트랜잭션에서 수행중인 쿼리[맨 위로]

GC가 대기하고 있는 트랜잭션이란 '알티베이스에서 가장 오래된 old version'을 참조하는 트랜잭션을 의미한다. 이와 같은 트랜잭션으로 인해 GC가 동작하지 않고 무한히 대기하게 된다면 메모리 사용량 또한 무한히 증가할 수 있으므로 GC gap 증가 시 확인요소 중 한 가지다.

아래 쿼리를 수행함으로 GC가 대기하고 있는 트랜잭션을 수행하는 세션에서 수행한 쿼리를 확인할 수 있다. 또한, 인덱스 스캔은 하나 분포도가 좋지 않아 풀 스캔이나 다름없어 순간적인 CPU 소모를 하는 쿼리를 검출할 때도 유용하게 활용될 수 있다.
주의할 것은 상황에 따라 한 번의 수행으로 검출되지 않을 수 있기에 주기적, 반복적으로 수행하여야 한다는 것이다.

  • Altibase 4 이상 버전에서 사용할 수 있다.  

  • 아래 Altibase 5 이상 버전에서 사용할 수 있다.

 

 

 

  • No labels