TIP게시판

제목 Apache Memory Leak 대응방법
글쓴이 도라에몽 작성시각 2016/07/15 14:06:47
댓글 : 3 추천 : 0 스크랩 : 2 조회수 : 17692   RSS

apache 2.2.15 Stable , php7, mysql 5.5

SSD 250GB, 4Core, 8GB Ram, CentOS 6.6

위의 사양으로 가비아 클라우드 서버를 운영하고 있었습니다. 

하루 UV는 15000 정도인데 PV가 60만 정도 되는 곳입니다. 

URL은 http://bigtoon.donga.com CI로 개발되었지요. 

 

위의 차트 이미지 보시다시피 메모리 점유량이 계속 증가합니다. 

도대체 무슨문제일지 거래처 팀장님과 열심히 구글링하며 연구했었습니다. 

apache MaxRequestsPerChild 설정이 문제라는 이야기만 찾을수 있었습니다. 

 

그러다가 https://blog.lael.be/post/1090 이 링크의 내용을 발견했습니다. 

요점은 cache메모리의 반환 입니다. (위 링크의 내용은 우분투 내용이지만 centos에서도 실행 됩니다.)

#sync && echo 3 > /proc/sys/vm/drop_caches

이렇게 실행시키면 캐시를 반환합니다.

위의 차트 이미지에서 보이는 메모리가 확 줄어든때가 위의 명령어가 실행된 때입니다. 

 

결국 매일 cron으로 등록해놓기로 했습니다. 

0 4 * * * sync && echo 3 > /proc/sys/vm/drop_caches

메모리가 7~80% 가까이 점유하게 되면 가끔 apache가 죽는지 서비스가 1~2분 가량 죽는 경우가 생기더군요. 

매일 새벽 4시에 메모리 반환하도록 설정했으니 이제야 조금 마음이 놓이네요. 

관련링크 https://blog.lael.be/post/1090
 다음글 Ci4 모델 로딩 샘플 (3)
 이전글 db 쿠키 헬퍼 (3)

댓글

한대승(불의회상) / 2016/07/15 17:20:01 / 추천 0
좋은 팁 감사 합니다.
변종원(웅파) / 2016/07/15 18:02:56 / 추천 0
반환율 훌륭한데요? 메모리 8G짜리 개발서버의 메모리 사용률이 80%가 넘었는데 실행하고 나니 25%대로 뚝 떨어지네요
마카오최 / 2016/07/16 11:37:01 / 추천 0

캐쉬메모리가 계속 누적되듯이 지속적으로 쌓이는 문제..

저는 카페24 서버호스팅을 사용중에 오래전에 이문제에 대해 문의한적이 있거든요.

결론은 카페24 서버팀에서도 저 명령어를 그대로 알려줬었죠..

신기한건 저는 그래서 가끔식 체크 하고 수동으로 처리하다가

어제 오전에 아~ 이럴바엔 크론으로 돌려버려야겠다 생각하고 크론탭에 등록했거든요..

그런데 이런글이 같은날에 딱 올라오는걸 보니 완전 신기하네요 ㅎㅎ

마치 제 서버를 누가 보는 기분~..ㅎ