KWMBLOG

아파치 실행시 No space left on device 본문

리눅스/APACHE

아파치 실행시 No space left on device

KWMBLOG 2019. 2. 19. 14:51

정확한 에러내용은

critical create(): semget() failed: NO space left on device

내가 이 에러를 처음 봤을땐

입사한지 두달쯤 됐을 때였다.

당시 내 머리로는 이해할수가 없었다.

용량은 넘쳐나는데

아니 애초에 아파치가 하드용량을 왜쓰지 라고

1차원적으로만 생각했었기 때문이다.

저건 하드용량이 아니라 메모리 용량이다.




아파치가 꺼졌으면 메모리 점유를 하지 않아야 되는데

메모리 점유를 하고있는 경우가 간혹있다.

(이렇게 배워서 정확한지는 모르겠다.)


아래에서 [apache user] 부분은

아파치를 실행하는 계정을 뜻한다.


ipcs 명령어를 통해 공유메모리의 사용량을 확인한다.

ipcs | grep [apache user]

또는

ipcs -s -t | grep [apache user] | grep -v sem | cut -f1 -d' ' | awk '{print "ipcrm sem",$1}' 

라고 입력해준다.


그 후 apache user 가 사용중인 공유메모리를 삭제한 후 재시작 하면 해결된다.

삭제 방법은 아래 명령어를 그대로 입력하면 된다.

for i in `ipcs -s | grep [apache user] | awk '{print $2}'`;do ipcrm -s $i;done; 


다 처리 되고 나면

ipcs -ls

로 확인이 가능하다.



커널 파라메터를 튜닝하라는 글도 봤었는데

무슨말인지 이해를 못해 써보진않았다.

일단 적어놓는다.

echo 250 32000 100 512 > /proc/sys/kernel/sem

Comments