Aquester 发表于 2009-05-26 19:44

“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

cjaizss 发表于 2009-05-26 20:55

调用了bad_page函数,内核内存耗尽应该也可能会调用这个的

prolj 发表于 2009-05-26 22:54

回复 #2 cjaizss 的帖子

是漏内存了么?

Aquester 发表于 2009-05-27 09:38

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 编辑 ]

Aquester 发表于 2009-05-27 09:43

原帖由 prolj 于 2009-5-26 22:54 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
是漏内存了么?

不象是内存泄露,内存还够用,也没超过32位进程应用可分配的3G空间。
页: [1]
查看完整版本: “Bad page state in process”错误如何解决?