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
- swapoff -a
- swapon -a
- hibernate
复制代码
4. hibernate失败后在dmesg中有如下信息:
- Suspend2 2.2.9: Initiating a software suspend cycle.
- Stopping tasks... done.
- Free:89514(89514). Sets:25415(25415),11865(11865). Header:6. Nosave:2-0=2. Storage:0/37786(228280). Needed:-78145|-190494|0.
- Restarting tasks...done.
- Stopping tasks... done.
- Free:89514(89514). Sets:25418(25418),11865(11865). Header:6. Nosave:2-0=2. Storage:0/37789(228280). Needed:-78144|-190491|0.
- Restarting tasks...done.
- Stopping tasks...
- Stopping tasks timed out after 20 seconds (1 tasks remaining):
- kswapd0
- Free:87150(87150). Sets:13528(13528),11863(11863). Header:6. Nosave:14055-14053=2. Storage:37783/25897(228278). Needed:-82806|-202381|0.
- Restarting tasks...<6>Strange, kswapd0 not stopped
- done.
- Suspend2 debugging info:
- - SUSPEND core : 2.2.9
- - Kernel Version : 2.6.18-suspend2-r1
- - Compiler vers. : 4.1
- - Attempt number : 2
- - Parameters : 17 16400 0 1 0 0
- - Overall expected compression percentage: 0.
- - Compressor is 'lzf'.
- - SwapAllocator active.
- Swap available for image: 228278 pages.
- - FileAllocator inactive.
- - No I/O speed stats available.
- - Extra pages : 0 used/500.
复制代码
看来应该是 swap 有占用时不能正常关闭 kswapd0,导致 hibernate 失败,我现在是可以重现这个现象,不知道大家的如何?我想这是不是个 Bug?或是我的系统设置有问题?大家帮看看吧。 |