“Bad page state in process”错误如何解决?
在/var/log/messages中发现如下错误,不知道如何定位,是程序还是内核BUG了?
20469 May 26 03:05:08 test kernel: [22059076.644000] Bad page state in process 'test'
20470 May 26 03:05:08 test kernel: [22059076.644000] page:c1ee3aa0 flags:0xc0000060 mapping:f76d89a9 mapco unt:2 count:2
20471 May 26 03:05:08 test kernel: [22059076.644000] Trying to fix it up, but a reboot is needed
20472 May 26 03:05:08 test kernel: [22059076.644000] Backtrace:
20473 May 26 03:05:08 test kernel: [22059076.644000] [<c013a39b>] bad_page+0x42/0x67
20474 May 26 03:05:08 test kernel: [22059076.644000] [<c013aac9>] get_page_from_freelist+0x22a/0x2ff
20475 May 26 03:05:08 test kernel: [22059076.644000] [<c013abec>] __alloc_pages+0x4e/0x297
20476 May 26 03:05:08 test kernel: [22059076.644000] [<c0110384>] flush_tlb_others+0xf6/0x11d
20477 May 26 03:05:08 test kernel: [22059076.644000] [<c013c360>] __do_page_cache_readahead+0xc4/0x1e9
20478 May 26 03:05:08 test kernel: [22059076.644000] [<c0147425>] __page_set_anon_rmap+0x2b/0x2f
20479 May 26 03:05:08 test kernel: [22059076.644000] [<c01409eb>] do_wp_page+0x2f8/0x362
20480 May 26 03:05:08 test kernel: [22059076.644000] [<c0140a34>] do_wp_page+0x341/0x362
20481 May 26 03:05:08 test kernel: [22059076.644000] [<c0138cf7>] filemap_nopage+0x148/0x2ed
20482 May 26 03:05:08 test kernel: [22059076.644000] [<c01422ff>] __handle_mm_fault+0x1f6/0xbfd
20483 May 26 03:05:08 test kernel: [22059076.644000] [<c0115811>] do_page_fault+0x16d/0x580
20484 May 26 03:05:08 test kernel: [22059076.644000] [<c01156a4>] do_page_fault+0x0/0x580
20485 May 26 03:05:08 test kernel: [22059076.644000] [<c0103bcf>] error_code+0x4f/0x60
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
不象是内存泄露,内存还够用,也没超过32位进程应用可分配的3G空间。
调用了bad_page函数,内核内存耗尽应该也可能会调用这个的
是漏内存了么?
32位SUSE10.1,8G物理内存,test进程只用了1.4G内存,以下当时top为证:
20861 test 16 0 1440m 1.3g 1960 D 3 66.9 28435: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:34am up 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------
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 306224 117472 75032 200896 1 0 0 1 2 1 22 9 69 0 0
ps命令执行时挂起,部分输出如下:
root 2712 2660 0 04:28 ? 00:00:00 /usr/sbin/cron
root 2713 2660 0 04:28 ? 00:00:00 /usr/sbin/cron
root 2714 2712 0 04:28 ? 00:00:00 [monitor.sh] <defunct>
root 2715 2713 0 04:28 ? 00:00:00 [sh] <defunct>
cron有两个,monitor.sh中有ps操作,估计monitor.sh挂在ps处了
[ 本帖最后由 Aquester 于 2009-5-27 09:42 编辑 ]