Bad page state at free_hot_cold_page와 dst cache overflow 에
글쓴이: jellypo / 작성시간: 목, 2004/04/29 - 2:45오전
제온 듀얼, 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:
첨부 | 파일 크기 |
---|---|
2.6.4.config.txt | 17.78 KB |
Forums:
일단 문제가 커널인지, 하드웨어인지를 알아내는 것이 우선일것 같습니다.
일단 문제가 커널인지, 하드웨어인지를 알아내는 것이 우선일것 같습니다.
좀 더 안정적으로 운영할 수 있는 2.4.xx 버전을 사용하셔서 문제가 없는지를 확인해보는것이 우선일 것 같습니다.
http://fire.st/phpsysinfo/를 보면 '스왑디스크'
http://fire.st/phpsysinfo/
를 보면 '스왑디스크'랑 'tmpfs' 용량이 서로 다릅니다. 같아야 하는거 아닌가요? 제 생각엔 저게 문제라면 스왑 디스크를 쓰게 될 때부터 문제가 생기는거 같습니다만...
예전에 서버가 먹통되어서 전화했더니 디스크 체크 부분에서 커널 패닉이 계속 일어나고 있고 어떻게 조치를 해서 부팅시켰다... 했었는데 그 때는 그냥 정상 작동하길래 확인 제대로 안하고 넘어갔었습니다. 그때 그렇게 된건지 모르겠군요(그럼, 그때는 왜 다운된걸까요)
데비안 사지 설치할 때 파티션 나누는게 좀 문제 있었던걸까요; 하드 총 용량이 34기가이니 1기가 행방불명된건 사실인듯 하고요.
제가 스왑 디스크 2기가 잡은게 분명한데 tmpfs이 1기가 잡혀있으니 심란하군요. 다시 2기가 잡게 하려면 어떻게 해야 하는지요.
일단 "Bad page state at free_hot_cold_page
일단 "Bad page state at free_hot_cold_page"는 하드웨어 문제일 경우가 많습니다.
두번째 dst cache overflow의 경우에는
1. 네트웍 설정중 loopback(lo) 인터페이스가 없다.
2. /proc/sys/net/ipv4/route/max_size 를 늘려준다.
구글링 해 보시면 비슷한 현상에 대해 의견을 찾을 수 있습니다.
http://eunjaeim.com
tmpfs 는 리눅스에서 shm 을 구현할때 사용하는것으로.스왑디
tmpfs 는 리눅스에서 shm 을 구현할때 사용하는것으로.
스왑디스크랑 전혀 상관이 없습니다.
일반적으로 피지컬 메모리의 1/2 이 잡힙니다.
------------------------------------------------------------------------------------------------
Life is in 다즐링
댓글 달기