'could not create shared memory'에 해당되는 글 1건

  1. 2014.06.17 :: chef 설치 시 postgresql createdb 실패
OSS(Open Source Software)/chef 2014. 6. 17. 10:28

chef 서버를 설치 하다가 postgresql createdb 하는 부분에서 계속 실패가 발생했다. 문제 확인을 위해 로그를 찾아보던 중 다음과 같은 에러를 확인 할 수 있었다.

/var/log/chef-server/postgresql/current

2014-06-17_01:17:33.19583 FATAL:  could not create shared memory segment: Invalid argument

2014-06-17_01:17:33.19585 DETAIL:  Failed system call was shmget(key=5432001, size=8629649408, 03600).

2014-06-17_01:17:33.19586 HINT:  This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter.  You can either reduce the request size or reconfigure the kernel with larger SHMMAX.  To reduce the request size (currently 8629649408 bytes), reduce PostgreSQL's shared memory usage, perhaps by reducing shared_buffers or max_connections.

2014-06-17_01:17:33.19588       If the request size is already small, it's possible that it is less than your kernel's SHMMIN parameter, in which case raising the request size or reconfiguring SHMMIN is called for.

2014-06-17_01:17:33.19588       The PostgreSQL documentation contains more information about shared memory configuration.

문제는 커널에서 지정한 kernel.shmmax 값이 2G로 설정되어 있었는데, postgresql 에서 원하는 값은 8G 이상이었다. 

이를 해결하기 위해 요청의 크기를 줄이거나 shmmax 값을 다시 구성하는 방법이 있는데, shmmax 값을 다시 구성하는 방법은 커널 값을 수정 하는것이고, 요청의 크기를 줄이는 방법은 shared_buffers 또는 MAX_CONNECTIONS를 줄여, PostgreSQL의 공유 메모리 사용을 줄일 수 있다.

'OSS(Open Source Software) > chef' 카테고리의 다른 글

chef client 변경 내역 갱신하기  (0) 2014.06.19
리눅스 파일 퍼미션 변경 recipe  (0) 2014.05.20
chef 구성  (0) 2014.04.15
Resource란?  (0) 2014.04.14
멱등성이란?  (0) 2014.04.14
posted by 구닥다리 엔지니어
: