How to make "suspend" option work?
In the power management, I selected the option called "suspend when I close the lid". If I close the lid, the computer is not suspending. It keep itself on. How can I solve this problem?
Solution 1:
This usually happens when some process stops the system from being suspended.
Do
dmesg -T|grep Freez -A4
and look for these entries:
--
[sun mar 3 15:19:48 2013] Freezing user space processes ...
[sun mar 3 15:20:08 2013] Freezing of tasks failed after 20.01 seconds (3 tasks refusing to freeze, wq_busy=0):
[sun mar 3 15:20:08 2013] mount.nfs D e8631aa0 0 5518 5517 0x00800004
[sun mar 3 15:20:08 2013] e8631b10 00000086 f7bc0e00 e8631aa0 c1053cb4 c1809020 c192ee00 c192ee00
--
Check the time stamps to see which of the reported problems relate to your try to suspend. In this case, it is mount.nfs
that is causeing the problems.
Now, put a script in /etc/pm/sleep.d/
, scripts there will be run at suspend and resume. The file name should start with an ordering number, 00-49 for user scripts (for more details, see man pm-suspend
).
The script could look like this
#!/bin/sh
(killall -1 mount.nfs; exit 0)
with correpsonding entries for other processes that caused problems, if any.
Parenthesis and exit 0
is a trick: if the process isn't found, killall
will exit with exit code 1, which will cancel the entire suspend. The above will run killall
in a sub-shell that will exit with 0.
If you're having problems, check /var/log/pm-suspend.log
that will log the attempt to suspend and to run your script.
Solution 2:
Does the computer suspend when you choose the suspend option instead of closing the lid?
Check the suspend logs at /var/log/pm-suspend.log
that might tell you why it's not suspending.