Bad page state at free_hot_cold_page와 dst cache overflow 에

jellypo의 이미지

제온 듀얼, 2기가 램, 스카시 하드를 쓰고 있고 데비안 리눅스 testing, 커널은 데비안 패치된 커널소스 2.6.4 을 제가 적당히(:oops:) 옵션을 줘서 데비안식 컴파일로 패키징 후 설치해서 사용중입니다. 하이퍼 쓰레딩을 켜놓았고요.

일단 서버가 돌아가긴 하는데(20일까지 돌아간 적 있음) 요즘은 하루가 멀다하고 커널 패닉을 일으키는거 같습니다. 리모트 컴퓨터라 에러 메시지 확인이 힘듭니다만... root로 오는 Security Violations 메일 중 에러 리포트 내용입니다.

Quote:
Apr 23 18:02:30 i-i kernel: Bad page state at free_hot_cold_page (in process 'apache', page c1ce9410)
Apr 23 18:02:30 i-i kernel: flags:0x40000110 mapping:00000000 mapped:1 count:0
Apr 23 18:02:30 i-i kernel: Backtrace:
Apr 23 18:02:30 i-i kernel: Call Trace:
Apr 23 18:02:30 i-i kernel: [<c013909b>] bad_page+0x7e/0xa3
Apr 23 18:02:30 i-i kernel: [<c01396cb>] free_hot_cold_page+0x75/0x107
Apr 23 18:02:30 i-i kernel: [<c0139cba>] __pagevec_free+0x19/0x21
Apr 23 18:02:30 i-i kernel: [<c013e3f6>] release_pages+0x61/0x156
Apr 23 18:02:30 i-i kernel: [<c010b262>] apic_timer_interrupt+0x1a/0x20
Apr 23 18:02:30 i-i kernel: [<c014007b>] refill_inactive_zone+0x4e6/0x53c
Apr 23 18:02:30 i-i kernel: [<c014d8a1>] free_pages_and_swap_cache+0x55/0x83
Apr 23 18:02:30 i-i kernel: [<c014230c>] zap_pte_range+0x1ae/0x1fe
Apr 23 18:02:30 i-i kernel: [<c01423a3>] zap_pmd_range+0x47/0x61
Apr 23 18:02:30 i-i kernel: [<c0142406>] unmap_page_range+0x49/0x87
Apr 23 18:02:30 i-i kernel: [<c0142521>] unmap_vmas+0xdd/0x2bd
Apr 23 18:02:30 i-i kernel: [<c0146931>] exit_mmap+0xde/0x1f7
Apr 23 18:02:30 i-i kernel: [<c011b60f>] mmput+0x63/0x7c
Apr 23 18:02:30 i-i kernel: [<c011f3c5>] do_exit+0x163/0x3db
Apr 23 18:02:30 i-i kernel: [<c011f6fd>] do_group_exit+0x42/0xb3
Apr 23 18:02:30 i-i kernel: [<c010a873>] syscall_call+0x7/0xb
Apr 23 18:02:30 i-i kernel:
Apr 23 18:02:30 i-i kernel: Trying to fix it up, but a reboot is needed

이런 내용이 반복되고, 한 번 저 에러가 나면 apache 뿐만이 아니라 다양한 프로세스에서 비슷한 메시지가 나옵니다. 게다가 포트는 열려있지만 외부에서 접속이 안되어서 IDC에 전화걸어서 리붓하고 있고요...

또 다른 문제로는 dst cache overflow 입니다.

Quote:
Apr 20 01:24:47 i-i kernel: dst cache overflow
Apr 20 01:24:52 i-i kernel: printk: 4829 messages suppressed.
Apr 20 01:24:52 i-i kernel: dst cache overflow
Apr 20 01:24:57 i-i kernel: printk: 4637 messages suppressed.
Apr 20 01:24:57 i-i kernel: dst cache overflow
Apr 20 01:25:02 i-i kernel: printk: 4478 messages suppressed.
Apr 20 01:25:02 i-i kernel: dst cache overflow
Apr 20 01:25:07 i-i kernel: printk: 4155 messages suppressed.
Apr 20 01:25:07 i-i kernel: dst cache overflow
Apr 20 01:25:12 i-i kernel: printk: 3955 messages suppressed.
Apr 20 01:25:12 i-i kernel: dst cache overflow
Apr 20 01:25:17 i-i kernel: printk: 3887 messages suppressed.
...하략...

무슨 에러인지 감도 못잡고 있습니다. 대충 어느 부분에서 문제가 나는 것인지 조언 부탁드립니다.

File attachments: 
첨부파일 크기
Plain text icon 2.6.4.config.txt17.78 KB
mushim의 이미지

일단 문제가 커널인지, 하드웨어인지를 알아내는 것이 우선일것 같습니다.

좀 더 안정적으로 운영할 수 있는 2.4.xx 버전을 사용하셔서 문제가 없는지를 확인해보는것이 우선일 것 같습니다.

jellypo의 이미지

http://fire.st/phpsysinfo/
를 보면 '스왑디스크'랑 'tmpfs' 용량이 서로 다릅니다. 같아야 하는거 아닌가요? 제 생각엔 저게 문제라면 스왑 디스크를 쓰게 될 때부터 문제가 생기는거 같습니다만...

Quote:
Disk Swap 0% 1.86 GB 0.00 KB 1.86 GB
/dev/shm tmpfs tmpfs 0% 1012.39 MB 0.00 KB 1012.39 MB

예전에 서버가 먹통되어서 전화했더니 디스크 체크 부분에서 커널 패닉이 계속 일어나고 있고 어떻게 조치를 해서 부팅시켰다... 했었는데 그 때는 그냥 정상 작동하길래 확인 제대로 안하고 넘어갔었습니다. 그때 그렇게 된건지 모르겠군요(그럼, 그때는 왜 다운된걸까요)

데비안 사지 설치할 때 파티션 나누는게 좀 문제 있었던걸까요; 하드 총 용량이 34기가이니 1기가 행방불명된건 사실인듯 하고요.

제가 스왑 디스크 2기가 잡은게 분명한데 tmpfs이 1기가 잡혀있으니 심란하군요. 다시 2기가 잡게 하려면 어떻게 해야 하는지요.

eunjea의 이미지

일단 "Bad page state at free_hot_cold_page"는 하드웨어 문제일 경우가 많습니다.
두번째 dst cache overflow의 경우에는
1. 네트웍 설정중 loopback(lo) 인터페이스가 없다.
2. /proc/sys/net/ipv4/route/max_size 를 늘려준다.

구글링 해 보시면 비슷한 현상에 대해 의견을 찾을 수 있습니다.

다즐링의 이미지

tmpfs 는 리눅스에서 shm 을 구현할때 사용하는것으로.

스왑디스크랑 전혀 상관이 없습니다.

일반적으로 피지컬 메모리의 1/2 이 잡힙니다.

JellyPo wrote:
http://fire.st/phpsysinfo/
를 보면 '스왑디스크'랑 'tmpfs' 용량이 서로 다릅니다. 같아야 하는거 아닌가요? 제 생각엔 저게 문제라면 스왑 디스크를 쓰게 될 때부터 문제가 생기는거 같습니다만...

Quote:
Disk Swap 0% 1.86 GB 0.00 KB 1.86 GB
/dev/shm tmpfs tmpfs 0% 1012.39 MB 0.00 KB 1012.39 MB

예전에 서버가 먹통되어서 전화했더니 디스크 체크 부분에서 커널 패닉이 계속 일어나고 있고 어떻게 조치를 해서 부팅시켰다... 했었는데 그 때는 그냥 정상 작동하길래 확인 제대로 안하고 넘어갔었습니다. 그때 그렇게 된건지 모르겠군요(그럼, 그때는 왜 다운된걸까요)

데비안 사지 설치할 때 파티션 나누는게 좀 문제 있었던걸까요; 하드 총 용량이 34기가이니 1기가 행방불명된건 사실인듯 하고요.

제가 스왑 디스크 2기가 잡은게 분명한데 tmpfs이 1기가 잡혀있으니 심란하군요. 다시 2기가 잡게 하려면 어떻게 해야 하는지요.

------------------------------------------------------------------------------------------------
Life is in 다즐링

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.