Skip to end of metadata
Go to start of metadata

 

 

개요


[Warning] Memory allocation failed. 에 대해 설명합니다. 이 메시지는 OS 환경으로 인해 메모리 할당이 실패한 경우 발생하는 메시지입니다. 


 

버전


ALTIBASE HDB 모든 버전 

 

 

현상


  • $ALTIBASE_HOME/trc/altibase_boot.log 에 [Warning] Memory allocation failed. 에러가 발생합니다. 
  • [ERR-01051 : Memory allocation failed.] 와 같이 에러가 남을 수도 있습니다. 
  • 이 에러는 트랜잭션 수행 중 또는 알티베이스 서버 STARTUP/SHUTDOWN 시에도 발생할 수 있습니다. 
  • 이 에러가 발생하면 신규 접속도 실패할 수 있습니다. 
  • 주로 HP-UX 에서 발생합니다. 

 

 

원인 및 조치


커널 파라미터에 의해 메모리 사용이 제한된 경우

가장 많이 발생하는 원인입니다.
HP-UX 의 경우 커널 파라미터에 의해 프로세스가 사용할 수 있는 메모리 크기를 제한할 수 있습니다. 알티베이스 서버 프로세스의 메모리 사용이 이 파라미터의 설정값을 초과할 경우 [Warning] Memory allocation failed. 메시지가 발생합니다. 
해당 커널 파라미터는 아래와 같습니다.  

  • maxdsiz           (32bit 프로세스의 경우)
  • maxdsiz_64bit (64bit 프로세스의 경우)

 

커널 파라미터 확인 방법은 아래와 같습니다. 단위는 바이트 단위이며 물리 메모리 크기를 고려하여 충분히 크게 설정해야 합니다. 필요하면 시스템 엔지니어에게 요청하여 변경해주세요. 

$ /usr/sbin/kctune | grep maxdsiz

32비트 OS에서 알티베이스 서버를 운용하는 경우 

32비트 OS는 하나의 프로세스가 사용할 수 있는 메모리 크기가 2G로 제한되어 있어 이를 고려하지 않고 알티베이스 서버를 운용할 경우 이 메시지가 발생할 수 있습니다.
 

물리 메모리가 부족한 경우 

실제 물리 메모리가 부족한 경우도 이 메시지가 발생합니다. top, glance 등 시스템 자원 모니터링 툴을 이용하여 물리 메모리 사용률을 확인하세요. 

 

 

참고


  • ALTIBASE HDB 서버의 기본 테이블스페이스는 SYS_TBS_MEM_DATA 입니다. 그래서 CREATE TABLE 수행 시 테이블스페이스를 따로 지정하지 않으면 이 테이블스페이스가 기본으로 지정됩니다. 
    이 테이블스페이스는 시스템 메모리 테이블스페이스로 테이블의 데이터는 메모리를 사용합니다. 때문에 사용자 의도와 다르게 메모리 사용이 커질 수 있으니 이 점도 확인해보아야 합니다. 
  • ALTIBASE_운영을_위한_HPUX_설정_가이드.pdf

 

  • No labels