linux 커널 메시지.

OS: Fedora core 5 

증상: httpd process가 무수히 많이 생기면서 좀비프로세스가 생김. 이때 메모리와 CPU를 거의 httpd 데몬이 점유하면서 느려짐.

메시지: 아래와 같음 

Out of Memory: Kill process 12558 (httpd) score 84120 and children.
Out of memory: Killed process 12558 (httpd).

원인은 뭘까요????

3 comments

  1. http://sylphong.egloos.com/page/3

    링크의 글을 보면 대략적인 그림이 그려진다. 하지만, 왜 아파치 서버가 죽는지는 아직도 알 수가 없다. 메모리 관리라 하지만, 구체적인 방법을 알 수가 없으니… 🙁

    • 쥬마 on 2007년 10월 26일 at 6:15 오후
    • Reply

    HTTP 프로세서는 요청이 있을 때 마다 Fork 시켜 응답을 해주는 시스템??
    웹 페이지 상에 쓸데없는 무수한 이미지를 넣게 되면 많은 커넥션이 발생된다.

    • 쥬마 on 2007년 10월 26일 at 6:21 오후
    • Reply

    또한 위 메시지는 Httpd 프로세스가 포크 될때 더 이상 할당될 메모리가 없어 메모리 부족을 알리는 메시지.

    위와 같은 경우의 회피 방법은
    1. 최대한 이미지 갯수를 줄인다.
    2. 최대 커넥션을 설정한다.
    3. 불필요하게 PHP가 작동되는 것을 방지한다.

    참고로 PHP가 최대 사용할 수 있는 메모리는 기본 8MB로 설정되어 있으며, 이 부분은 php.ini에서 수정 가능.

    또한 PHP가 파일 전체를 읽어서 파일 전체를 출력해주는 모듈이 존재한다면 Buffer를 사용하여 Buffer를 반복적으로 출력하는 방법이 바람직함.

답글 남기기

Your email address will not be published.