LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 825|回复: 4

还是 Hibernate 的问题,大家帮忙看看吧,是 Bug 还是我的设置问题? [基本解决]

[复制链接]
发表于 2007-1-8 12:33:26 | 显示全部楼层 |阅读模式
Hibernate 有时候不成功,在

Software Suspend
Seeking to free 48Mb of memory
[----------------------------------------------------------------------------]


后停止,然后20S后返回系统,系统变得超慢,好一会儿才好。

前段时间让大家帮看过,这些时间根据我的使用经历,发现有如下规律:
1. 这种情况总是发生在 emerge --sync 或 emerge -uvDN world 后,这时候的 swap 分区一般会有 1-5 mb 占用,(496Mb memory + 990Mb swap),只要 swap 有占用,hibernate 一定不成功。
2. 有兄弟说多hibernate几次或在console下hibernate,但我在情况1后这样做,仍然会失败。
3. 这时,我如果用如下命令,就可以 hibernate

  1. swapoff -a
  2. swapon -a
  3. hibernate
复制代码

4. hibernate失败后在dmesg中有如下信息:

  1. Suspend2 2.2.9: Initiating a software suspend cycle.
  2. Stopping tasks... done.
  3. Free:89514(89514). Sets:25415(25415),11865(11865). Header:6. Nosave:2-0=2. Storage:0/37786(228280). Needed:-78145|-190494|0.
  4. Restarting tasks...done.
  5. Stopping tasks... done.
  6. Free:89514(89514). Sets:25418(25418),11865(11865). Header:6. Nosave:2-0=2. Storage:0/37789(228280). Needed:-78144|-190491|0.
  7. Restarting tasks...done.
  8. Stopping tasks...
  9. Stopping tasks timed out after 20 seconds (1 tasks remaining):
  10.    kswapd0
  11.    Free:87150(87150). Sets:13528(13528),11863(11863). Header:6. Nosave:14055-14053=2. Storage:37783/25897(228278). Needed:-82806|-202381|0.
  12.    Restarting tasks...<6>Strange, kswapd0 not stopped
  13.    done.
  14.    Suspend2 debugging info:
  15.    - SUSPEND core   : 2.2.9
  16.    - Kernel Version : 2.6.18-suspend2-r1
  17.    - Compiler vers. : 4.1
  18.    - Attempt number : 2
  19.    - Parameters     : 17 16400 0 1 0 0
  20.    - Overall expected compression percentage: 0.
  21.    - Compressor is 'lzf'.
  22.    - SwapAllocator active.
  23.      Swap available for image: 228278 pages.
  24.      - FileAllocator inactive.
  25.      - No I/O speed stats available.
  26.      - Extra pages    : 0 used/500.
复制代码


看来应该是 swap 有占用时不能正常关闭 kswapd0,导致 hibernate 失败,我现在是可以重现这个现象,不知道大家的如何?我想这是不是个 Bug?或是我的系统设置有问题?大家帮看看吧。
发表于 2007-1-8 14:14:42 | 显示全部楼层
没有遇到过kswapd0不能停止的情况
换最新的suspend2-sources试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-8 16:03:59 | 显示全部楼层
好,也只能这样了,原来用 suspend2-sources-2.6.18 ~x86 时还没有问题呢。
回复 支持 反对

使用道具 举报

发表于 2007-1-8 23:25:13 | 显示全部楼层
我现在就用这个内核版本阿,不过我的swap比较小,将将比512m的内存大一点……所以现在hibernate都退出X才运行……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-9 12:41:49 | 显示全部楼层
换成 suspend2-sources-2.6.19-r1 后目前没有出现过 kswapd0 不能停止的情况,但在 hibernate 时内核 crash 还是有一次。看来 suspend2 还是有些 Bug 的,不然早就进 kernel 了。
我的 swap 刚比 2*memory 小一点,忍了 !
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表