서버 메모리 풀 로드로 인한 프리징 현상에 대해서..

yoyosul의 이미지

안녕하세요..

23일부터 오늘 까지 이유를 알수 없는 메모르 풀 로드로 인해 서버의 프리징 현상이 계속 되고 있습니다.(2~4시간 간격)

해당 상황이 있을때 아파치를 내렷다 다시 바로 올리면 상황이 해제 됩니다..

콘솔에서 watch -d -n 1 "netstat -nlpa |grep SYN" 입력후 나오는 ip 들이 수백개는 아니고
많아야 같은 아이피 10개~15개정도 됩니다. (로봇 아이피로 파악되고 있습니다.)

헌데, 메모리가 급증하고, 스왑까지 다 사용해서 서버가 약 1분에서 길게는 5분까지 멈춰버리네요.
콘솔 입력도 안되구요.

해당 상황이 일어날때 watch -d -n 1 "netstat -nlpa |grep SYN" 에서 봐도 동일 ip 가 많지 않습니다..

Photobucket
Photobucket
Photobucket

top 으로 봤을때 httpd 가 메모리 차지 비율이 계속 늘어나며 현재 메모리 8기가와 스왑까지 다 사용합니다. 트래픽은 늘어나지 않습니다. 동시접속 1초단위로 봤을때도 20명 남짓인 상황에서도 나더라구요.

또한, 아파치 에러로그를 살펴봐도 그리큰 문제가 있는 에러가 없습니다..

아파치 컴파일은 최근에 메모리 사용량을 조절한게 있지만,다시 원상태로 복구 했습니다.

사양은 아래와 같이 사용하고 있습니다.
cpu : XEON sandyBridge E3-1230
ram : 4GB >> 오늘 4기가 추가 증설.
(총 8기가에 스왑은 동일합니다. httpd 가 8기가의 메모리를 다 잡아먹으며, 약 1~5분 프리징 현상 후 아래의 메세지와 함께 정상으로 돌아옵니다.)

아래 스샷 처럼 httpd 메모리 점유가 mysql 보다 원래 높은지요. 해당 메모리 점유율이 조금씩 증가합니다..(우측하단은 동접 입니다.)

Photobucket

Photobucket

상황이 일어날때 messages 파일을 보니
Sep 28 20:17:12 xxxxx kernel: httpd[32531]: segfault at 0000006d0000007f rip 0000003e0cc72cd1 rsp 0000000043f3c340 error 6

상황이 진전중에는 이런 메세지구요.
Sep 28 20:23:39 xxxxxxxx kernel: Free swap = 0kB
Sep 28 20:23:39 xxxxxxxx kernel: Total swap = 2096472kB
Sep 28 20:23:39 xxxxxxxx kernel: Free swap: 0kB
Sep 28 20:23:39 xxxxxxxx kernel: 1310720 pages of RAM
Sep 28 20:23:39 xxxxxxxx kernel: 302229 reserved pages
Sep 28 20:23:39 xxxxxxxx kernel: 5777 pages shared
Sep 28 20:23:39 xxxxxxxx kernel: 1 pages swap cached
Sep 28 20:23:39 xxxxxxxx kernel: Out of memory: Killed process 32511, UID 99, (httpd).
Sep 28 20:24:18 xxxxxxxx snmpd[2334]: Connection from UDP: [127.0.0.1]:56938

익명 사용자의 이미지

이미 확인을 해보셨을 것 같습니다만 생각나는데로 써보자면...
1. httpd를 컴파일해서 직접 설치하셨나보네요. 배포판에 맞는 이미 패키징된 걸 쓰시거나 업그레이드를 해보시길.
2. 메모리를 많이 잡아먹는 CGI 프로세스가 있을 가능성
3. httpd 특정 모듈이 문제를 일으키는 경우도 있습니다. 모듈을 하나씩 disable 시켜보세요.
- 예를 들자면 httpd가 하는 일은 별다는 게 없는데 php모듈이나 기타 다른 CGI관련 모듈이 문제일 수도 있을 것이고
4. 로봇 처리 확인

yoyosul의 이미지

말씀해주신 부분들에 대해 체크 해보도록 하겠습니다..

말씀 감사합니다..

sj316의 이미지

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-3192

DOS 공격을 받는게 아닌가 싶습니다.

trim703의 이미지

문제 상황 당시의 아파치 로그(에러로그 말고 access_log)를 보여주시는 게 분석에 더 도움이 될 듯 합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.