November 9, 2013

서버가 불안정했던 이유

현재 이 블로그와 위키, 그리고 몇 가지 작업들을 odroid-u2에 우분투를 설치하여 사용하고 있다. 요정도 사양이면 충분히 차고 넘쳐서 만족스럽게 사용하는 중이었는데, 얼마 전부터 mysql이 자꾸 죽기 시작했다. 재시작하면 죽고, 또 재시작하면 죽고… 에러 로그를 살펴보니 메모리가 부족한 것이 그 이유였다. 일단 자빅스가 문제인가 싶어 프로세스를 내렸더니 mysql이 다시 돌기 시작했다. 그래서, 일단 응급조치는 된건데 이거 스왑도 추가 못하고 메모리가 자꾸 넘치면 나중에 큰 문제가 있을꺼같은데… 도대체 이유가 뭘까? 하는 생각을 했었다.

그리고 어제 결국 다시 mysql이 죽기 시작했다. 메모리가 다시 부족하다고. 아무리 생각해도 이건 아니다 싶어 메모리 점유를 어떤 것들이 하고 있는가 리스트를 봤더니 php 프로세스가 엄청나게 많이 떠 있었던 것이다! 아마존 자원쪽 리스트를 뽑기 위해 php로 자료 보여주는 부분을 만들다가 그냥 1분마다 크론탭을 사용하셔 반복 실행하는 걸로 해결했었는데, 어찌된 일인지 이게 메모리에서 해제가 되지 않은것. sudo killall php로 php를 다 죽이니 약 1.5기가바이트의 메모리를 다시 확보할 수 있었다.