What's Keeping My Computer Awake?
Solution 1:
Bingo. I found it. An ISO mounting utility I ran had a file mounted and opened across the network. Apparently if a file is open for read across the network, Windows is prevented from sleeping.
On another note - I discovered a little quirk with the powercfg
utility. It seems to make a difference what type of terminal you run it from. Running under cygwin and Console2 gave false and erratic reports from the program (including a could not load energy.dll
error from running powercfg -ENERGY
). At first I thought the issues with [DRIVER] ?
were just a matter of the program not having sufficient information to determine the driver; but it was really a symptom of being executed under a standard cmd.exe
terminal.
As Emory points out in the comment below, the cause of this odd behavior is that powercfg
requires elevated permissions - requiring that it be run as Administrator. There is no warning built in to the program to alert the user, it will just return incorrect output (and possibly could not locate energy.dll
in the case of powercfg -ENERGY
). It must be run from a command prompt with elevated privileges.
Sooo... long story short... to determine what program is keeping your system from sleeping:
- Run
cmd.exe
with administrative privileges (this is key,powercfg
will run under anything, but will give incorrect results) - Run
powercfg -requests
to get a listing of items currently preventing sleep.
I was able to determine that files open across the network were preventing sleep in my case.