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.