This guide covers some basic troubleshooting if you're trying to configure your computer to go to sleep and it just won't. Obviously the first thing you want to check is that you have correctly setup sleep. With a laptop you will want to make sure you configure both DC and AC power settings. Preferably you would want sleep to kick in faster on DC power. You can of course you the GUI power settings interface, but we are going to look at the command line.
The first step is to open an elevated command prompt (you will need to be logged in as an administrator for this)
Press the Window Key and type cmd, right click "Command Prompt" and select "Run as Administrator"
Now you want to get a list of your power schemes. At the command prompt type powercfg /list you should get a similar list
The * next to the (Balanced) scheme indicates that this scheme is in use. Next we want to look at how our active plan is configured. Type the following replacing my GUID with yours. powercfg /query 381b4222-f694-41f0-9685-ff5bb260df2e This will produce a lot of output that may vary between systems.
These are some of the sleep related settings. In order for your computer to sleep these Current AC and CUrrent DC settings need to be set to a value other than zero for sleep to work. You can configure them from the GUI or with powercfg in the form
powercfg /SETDCVALUEINDEX {Power-Scheme-GUID} {Subgroup GUID/Alias} {Powersetting GUID/Alias} Value
powercfg /SETACVALUEINDEX {Power-Scheme-GUID} {Subgroup GUID/Alias} {Powersetting GUID/Alias} Value
Example: If I want my computer to go to sleep on DC in 60 seconds
powercfg /SETDCVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e SUB_SLEEP STANDBYIDLE 60
Once you've looked over your settings and verified they are correct scroll down past the example settings to look for ThreadExecution flags preventing sleep.
Subgroup GUID: 238c9fa8-0aad-41ed-83f4-97be242c8f20 (Sleep)
GUID Alias: SUB_SLEEP
Power Setting GUID: 29f6c1db-86da-48c5-9fdb-f2b67b1f44da (Sleep after)
GUID Alias: STANDBYIDLE
Minimum Possible Setting: 0x00000000
Maximum Possible Setting: 0xffffffff
Possible Settings increment: 0x00000001
Possible Settings units: Seconds
Current AC Power Setting Index: 0x00000000
Current DC Power Setting Index: 0x00000000
Power Setting GUID: 94ac6d29-73ce-41a6-809f-6363ba21b47e (Allow hybrid sleep)
GUID Alias: HYBRIDSLEEP
Possible Setting Index: 000
Possible Setting Friendly Name: Off
Possible Setting Index: 001
Possible Setting Friendly Name: On
Current AC Power Setting Index: 0x00000000
Current DC Power Setting Index: 0x00000000
Power Setting GUID: 9d7815a6-7ee4-497e-8888-515a05f02364 (Hibernate after)
GUID Alias: HIBERNATEIDLE
Minimum Possible Setting: 0x00000000
Maximum Possible Setting: 0xffffffff
Possible Settings increment: 0x00000001
Possible Settings units: Seconds
Current AC Power Setting Index: 0x00000000
Current DC Power Setting Index: 0x00000000
GUID Alias: SUB_VIDEO
Power Setting GUID: 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e (Turn off display after)
GUID Alias: VIDEOIDLE
Minimum Possible Setting: 0x00000000
Maximum Possible Setting: 0xffffffff
Possible Settings increment: 0x00000001
Possible Settings units: Seconds
Current AC Power Setting Index: 0x00000000
Current DC Power Setting Index: 0x0000012c
Subgroup GUID: 0012ee47-9041-4b5d-9b77-535fba8b1442 (Hard disk)
GUID Alias: SUB_DISK
Power Setting GUID: 6738e2c4-e8a5-4a42-b16a-e040e769756e (Turn off hard disk after)
GUID Alias: DISKIDLE
Minimum Possible Setting: 0x00000000
Maximum Possible Setting: 0xffffffff
Possible Settings increment: 0x00000001
Possible Settings units: Seconds
Current AC Power Setting Index: 0x000004b0
Current DC Power Setting Index: 0x00000258
Now if you have verified that your sleep settings are set correctly, you will want to look for any processes, services or drivers that are preventing sleep. This is common on applications that need to block sleep such as a movie playing.
To view any sleep blocks from the command prompt type powercfg /requests if there are no blocks you should see the following.
I made a little test program to illustrated what a halt may look like.
After removing my program, my computer would then be able to move into a sleep state.
The first step is to open an elevated command prompt (you will need to be logged in as an administrator for this)
Press the Window Key and type cmd, right click "Command Prompt" and select "Run as Administrator"
Now you want to get a list of your power schemes. At the command prompt type powercfg /list you should get a similar list
The * next to the (Balanced) scheme indicates that this scheme is in use. Next we want to look at how our active plan is configured. Type the following replacing my GUID with yours. powercfg /query 381b4222-f694-41f0-9685-ff5bb260df2e This will produce a lot of output that may vary between systems.
These are some of the sleep related settings. In order for your computer to sleep these Current AC and CUrrent DC settings need to be set to a value other than zero for sleep to work. You can configure them from the GUI or with powercfg in the form
powercfg /SETDCVALUEINDEX {Power-Scheme-GUID} {Subgroup GUID/Alias} {Powersetting GUID/Alias} Value
powercfg /SETACVALUEINDEX {Power-Scheme-GUID} {Subgroup GUID/Alias} {Powersetting GUID/Alias} Value
Example: If I want my computer to go to sleep on DC in 60 seconds
powercfg /SETDCVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e SUB_SLEEP STANDBYIDLE 60
Once you've looked over your settings and verified they are correct scroll down past the example settings to look for ThreadExecution flags preventing sleep.
Subgroup GUID: 238c9fa8-0aad-41ed-83f4-97be242c8f20 (Sleep)
GUID Alias: SUB_SLEEP
Power Setting GUID: 29f6c1db-86da-48c5-9fdb-f2b67b1f44da (Sleep after)
GUID Alias: STANDBYIDLE
Minimum Possible Setting: 0x00000000
Maximum Possible Setting: 0xffffffff
Possible Settings increment: 0x00000001
Possible Settings units: Seconds
Current AC Power Setting Index: 0x00000000
Current DC Power Setting Index: 0x00000000
Power Setting GUID: 94ac6d29-73ce-41a6-809f-6363ba21b47e (Allow hybrid sleep)
GUID Alias: HYBRIDSLEEP
Possible Setting Index: 000
Possible Setting Friendly Name: Off
Possible Setting Index: 001
Possible Setting Friendly Name: On
Current AC Power Setting Index: 0x00000000
Current DC Power Setting Index: 0x00000000
Power Setting GUID: 9d7815a6-7ee4-497e-8888-515a05f02364 (Hibernate after)
GUID Alias: HIBERNATEIDLE
Minimum Possible Setting: 0x00000000
Maximum Possible Setting: 0xffffffff
Possible Settings increment: 0x00000001
Possible Settings units: Seconds
Current AC Power Setting Index: 0x00000000
Current DC Power Setting Index: 0x00000000
GUID Alias: SUB_VIDEO
Power Setting GUID: 3c0bc021-c8a8-4e07-a973-6b14cbcb2b7e (Turn off display after)
GUID Alias: VIDEOIDLE
Minimum Possible Setting: 0x00000000
Maximum Possible Setting: 0xffffffff
Possible Settings increment: 0x00000001
Possible Settings units: Seconds
Current AC Power Setting Index: 0x00000000
Current DC Power Setting Index: 0x0000012c
Subgroup GUID: 0012ee47-9041-4b5d-9b77-535fba8b1442 (Hard disk)
GUID Alias: SUB_DISK
Power Setting GUID: 6738e2c4-e8a5-4a42-b16a-e040e769756e (Turn off hard disk after)
GUID Alias: DISKIDLE
Minimum Possible Setting: 0x00000000
Maximum Possible Setting: 0xffffffff
Possible Settings increment: 0x00000001
Possible Settings units: Seconds
Current AC Power Setting Index: 0x000004b0
Current DC Power Setting Index: 0x00000258
Now if you have verified that your sleep settings are set correctly, you will want to look for any processes, services or drivers that are preventing sleep. This is common on applications that need to block sleep such as a movie playing.
To view any sleep blocks from the command prompt type powercfg /requests if there are no blocks you should see the following.
I made a little test program to illustrated what a halt may look like.
After removing my program, my computer would then be able to move into a sleep state.