loaddb시 피시 메모리 증가와 스왑에 따른 종료문제

by 천상하늘 posted Aug 28, 2012

안녕하세요. 밑에 글을 올렸었는데. -c옵션으로 주기적으로 commit하도록 로드를 해도 발생을 해서
다시 질문 드립니다.

 

8.2.2버전의 디비를 8.4.0로 업그레이드 하기 위해서 unload를 받고.

해당 objects 파일을 loaddb하는 중에 발생한 에러입니다.

unloaddb 된 objects 파일의 크기는 1.7G입니다.

 

전체를 한번에 올리려고 할때의 에러.. (메모리 스왑이 일어나면서 그와 동시에 발생합니다)
--------------------------------------------------------------------------------------

GC Warning: Header allocation failed: Dropping block.
GC Warning: Out of Memory!  Returning NIL!
CUBRID cannot allocate main memory and must halt execution.
The current transaction has been aborted.
Data integrity has been preserved.
Line 1374058:Your transaction cannot be rolled back since logging was ignored. Your database may be corrupted.
Line 1374058:Cannot create MOP with NULL OID.
Line 1374058:Cannot create MOP with NULL OID.
Line 1374058:Accessing deleted object -1|-16410289|-1.
Line 1374058:Accessing deleted object -1|-16410289|-1.
--------------------------------------------------------------------------------------

 

-c 옵션으로 주기적으로 커밋하도록 할때 에러.. (메모리 스왑이 일어나면서 그와 동시에 발생합니다)
--------------------------------------------------------------------------------------
452000 instances committed
453000 instances committed
GC Warning: Header allocation failed: Dropping block.
GC Warning: Out of Memory!  Returning NIL!
CUBRID cannot allocate main memory and must halt execution.
The current transaction has been aborted.
Data integrity has been preserved.
Line 1374086:Your transaction (index 1, aaa@aaa|15528) has been unilaterally aborted by the system.
Line 1374086:Cannot create MOP with NULL OID.
Line 1374086:Cannot create MOP with NULL OID.
GC Warning: Out of Memory!  Returning NIL!
CUBRID cannot allocate main memory and must halt execution.
The current transaction has been aborted.
Data integrity has been preserved.
Line 1374086:Your transaction (index 1, aaa@aaa|15528) has been unilaterally aborted by the system.
Line 1374086:Cannot create MOP with NULL OID.
Line 1374086:Cannot create MOP with NULL OID.
--------------------------------------------------------------------------------------

 

-c옵션을 주고 loaddb를 해도 피시의 사용 메모리가 꾸준히 계속 증가를 하고
4기가 메모리에 육박해서 os자체적인 기능에 의해서 사용메모리를 하드디스크로 내리는 스왑이 일어날때
loaddb자체가 실패나면서 종료되어버리고 core파일이 생깁니다.

 

저희가 사용하는 디비가 다른 웹 디비에 비해서 set을 상당히 많이 사용합니다.

각 테이블들끼리 연결은 모두 set으로 처리되어있어서 테이블 전체 스키마를 보면 트리구조 처럼 되어있습니다.

혹시 그게 원인이 될까해서 남겨봅니다.

 

그럼 좋은하루 되시길 바랍니다. ^^


 


Articles