“Bad page state in process”错误如何解决?

发布于 2022-09-18 17:39:19 字数 2192 浏览 17 评论 0

在/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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

沫尐诺 2022-09-25 17:39:20

原帖由 prolj 于 2009-5-26 22:54 发表
是漏内存了么?

不象是内存泄露,内存还够用,也没超过32位进程应用可分配的3G空间。

热情消退 2022-09-25 17:39:19

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

生生漫 2022-09-25 17:39:19

是漏内存了么?

一抹淡然 2022-09-25 17:39:19

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文