“Bad page state in process”错误如何解决?
在/var/log/messages中发现如下错误,不知道如何定位,是程序还是内核BUG了?20469 May 26 03:05:08 test kernel: Bad page state in process 'test'
20470 May 26 03:05:08 test kernel: page:c1ee3aa0 flags:0xc0000060 mapping:f76d89a9 mapco unt:2 count:2
20471 May 26 03:05:08 test kernel: Trying to fix it up, but a reboot is needed
20472 May 26 03:05:08 test kernel: Backtrace:
20473 May 26 03:05:08 test kernel: [<c013a39b>] bad_page+0x42/0x67
20474 May 26 03:05:08 test kernel: [<c013aac9>] get_page_from_freelist+0x22a/0x2ff
20475 May 26 03:05:08 test kernel: [<c013abec>] __alloc_pages+0x4e/0x297
20476 May 26 03:05:08 test kernel: [<c0110384>] flush_tlb_others+0xf6/0x11d
20477 May 26 03:05:08 test kernel: [<c013c360>] __do_page_cache_readahead+0xc4/0x1e9
20478 May 26 03:05:08 test kernel: [<c0147425>] __page_set_anon_rmap+0x2b/0x2f
20479 May 26 03:05:08 test kernel: [<c01409eb>] do_wp_page+0x2f8/0x362
20480 May 26 03:05:08 test kernel: [<c0140a34>] do_wp_page+0x341/0x362
20481 May 26 03:05:08 test kernel: [<c0138cf7>] filemap_nopage+0x148/0x2ed
20482 May 26 03:05:08 test kernel: [<c01422ff>] __handle_mm_fault+0x1f6/0xbfd
20483 May 26 03:05:08 test kernel: [<c0115811>] do_page_fault+0x16d/0x580
20484 May 26 03:05:08 test kernel: [<c01156a4>] do_page_fault+0x0/0x580
20485 May 26 03:05:08 test kernel: [<c0103bcf>] error_code+0x4f/0x60 调用了bad_page函数,内核内存耗尽应该也可能会调用这个的
回复 #2 cjaizss 的帖子
是漏内存了么? 32位SUSE10.1,8G物理内存,test进程只用了1.4G内存,以下当时top为证:20861 test 16 0 1440m 1.3g 1960 D 3 66.928435:57 test
请注意进程处于D状态,后来发现磁盘接口坏了。
free命令输出:
total used free shared buffers cached
Mem: 2071060 1953648 117412 0 75032 200896
-/+ buffers/cache: 1677720 393340
Swap: 2104504 306224 1798280
uptime命令输出:
3:34amup 56 days 12:00,8 users,load average: 42.24, 36.99, 25.88
iostat命令输出:
avg-cpu:%user %nice %system %iowait%steal %idle
22.08 0.00 8.54 0.23 0.00 69.14
vmstat命令输出:
procs -----------memory---------- ---swap-- -----io---- -system-- -----cpu------
rb swpd free buffcache si so bi bo in cs us sy id wa st
10 306224 11747275032 200896 1 0 0 1 2 1 229 6900
ps命令执行时挂起,部分输出如下:
root 271226600 04:28 ? 00:00:00 /usr/sbin/cron
root 271326600 04:28 ? 00:00:00 /usr/sbin/cron
root 271427120 04:28 ? 00:00:00 <defunct>
root 271527130 04:28 ? 00:00:00 <defunct>
cron有两个,monitor.sh中有ps操作,估计monitor.sh挂在ps处了
[ 本帖最后由 Aquester 于 2009-5-27 09:42 编辑 ] 原帖由 prolj 于 2009-5-26 22:54 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
是漏内存了么?
不象是内存泄露,内存还够用,也没超过32位进程应用可分配的3G空间。
页:
[1]