我正在运行一个Debian-Jessy服务器,在网络不活动几个小时后进入S3睡眠模式(我做了一个小的bash脚本,用crontab每两个小时检查一次)。暂停后几秒钟,它再次醒来。几个小时后,当我的脚本因网络不活动而再次触发pm-suspend时,它会暂停并且不会再次唤醒。唤醒它的唯一方法应该是WOL(唤醒lan)。
我该怎么办?
编辑:可能与WOL包有关,因为我发现人们报告了同样的问题: https://bbs.archlinux.org/viewtopic.php?id=173596
http:// ubuntuforums.org/showthread.php?t=2233674
https:// bugzilla.kernel.org/show_bug.cgi?id=46421
以下是我的脚本的示例日志:
---------------------------------------
Sun Nov 23 02:00:01 CET 2014
No activity; Suspending now!
#######################################
Sun Nov 23 02:00:02 CET 2014
pm-suspend
#######################################
Sun Nov 23 02:00:15 CET 2014
pm-resume
---------------------------------------
Sun Nov 23 06:00:01 CET 2014
No activity; Suspending now!
#######################################
Sun Nov 23 06:00:01 CET 2014
pm-suspend
#######################################
Sun Nov 23 16:32:14 CET 2014
pm-resume
如你所见,它会立即再次醒来。但第二次,它成功地暂停了。
我在proc / acpi / wakeup中禁用了每个设备:
Device S-state Status Sysfs node
CIR S3 *disabled
PS2K S4 *disabled
PS2M S4 *disabled
UR11 S4 *disabled pnp:00:07
UR12 S4 *disabled pnp:00:08
USB1 S3 *disabled
RP01 S4 *disabled pci:0000:00:1c.0
BR11 S4 *disabled
RP02 S4 *disabled
RP03 S4 *disabled pci:0000:00:1c.2
RP04 S4 *disabled pci:0000:00:1c.3
RP05 S4 *disabled
RP06 S4 *disabled
RP07 S4 *disabled
RP08 S4 *disabled pci:0000:00:1c.7
GLAN S4 *disabled
EHC1 S4 *disabled pci:0000:00:1d.0
EHC2 S4 *disabled pci:0000:00:1a.0
XHC S4 *disabled pci:0000:00:14.0
HDEF S4 *disabled
PEG0 S4 *disabled
PEGP S4 *disabled
PEG1 S4 *disabled
PEG2 S4 *disabled
有没有办法确定唤醒的原因?为什么服务器第二次成功挂起?
我在pm-suspend日志中启用了调试模式并查看了syslog,但是我找不到任何有趣的信息。
Syslog:http://pastebin.com/U963DccX
pm-suspend.log with debug:
Sun Nov 23 02:00:02 CET 2014: performing suspend
+ sync
+ do_suspend
+ echo -n mem
+ date
+ log Sun Nov 23 02:00:15 CET 2014: Awake.
+ is_set true
+ return 0
+ local fmt=%s\n
+ [ Sun Nov 23 02:00:15 CET 2014: Awake. = -n ]
+ printf %s\n Sun Nov 23 02:00:15 CET 2014: Awake.
Sun Nov 23 02:00:15 CET 2014: Awake.
+ date
+ log Sun Nov 23 02:00:15 CET 2014: Running hooks for resume
+ is_set true
+ return 0
+ local fmt=%s\n
+ [ Sun Nov 23 02:00:15 CET 2014: Running hooks for resume = -n ]
+ printf %s\n Sun Nov 23 02:00:15 CET 2014: Running hooks for resume
Sun Nov 23 02:00:15 CET 2014: Running hooks for resume
感谢您的时间!