49

My computer is falling asleep outside of the screen and sleep times that I have set. I have made sure that the screen saver is set to none, and that the power options and advanced settings match the sleep settings. Regardless, though I have set sleep to 1 hr, it will go to sleep after approximately 2-4 minutes. If I reboot, this will solve the problem temporarily until the computer sleeps normally or I initiate sleep. After that it reverts to the abbreviated sleep mode. This started happening after I installed Windows 10. Additionally, I'm using a wireless mouse and keyboard (Microsoft & Logitech) that I have turned off the "allow this device to wake your PC" option, but the same thing happens.

This computer was made by a third party, but I checked through the command line, and the motherboard is an Intel Desktop DP55WB Media Series microATX.

Any clues as to where I should start looking?

user2168046
  • 613
  • 1
  • 7
  • 6
  • It would help if you would indicate the computer type and model you are talking about. even desktop motherboards can have some software that works with or changes the power plans. http://superuser.com/questions/984881/windows-10-goes-to-sleep-ignoring-the-settings?rq=1 a Question similar to this was asked. – Psycogeek Dec 29 '15 at 01:34
  • I don't have a make and model, but I figured out the motherboard and added it to the question. Hopefully that helps. – user2168046 Dec 29 '15 at 03:13
  • 1
    check also these older ones http://superuser.com/questions/556883/why-does-my-windows-7-go-to-sleep-after-two-minutes-regardless-of-power-manageme & http://superuser.com/questions/124772/windows-7-goes-to-sleep-in-conflict-with-power-option-setting because they at least have answers, and things to look for even if it is the older os. Another idea would be to create your own custom power profile starting with whatever they call a high performance one, that will place a new item in the registry, and start with a no sleep type of profile. Check to see what power profile is applied when it occurs – Psycogeek Dec 30 '15 at 04:01
  • Update: I've found a way in which the computer stays on in line with the settings. The Logitech wireless keyboard I'm using has a button for sleep. I use that to turn the computer off. If I wake the computer with basic mouse movement (Microsoft wireless), then the computer will sleep early as noted. However, if I wake the computer with the keyboard's sleep button, and then resume mouse usage, the computer will stay on as it is supposed to. I had read previously that peripheral drivers could be the cause. Could that be it, and is there a way to access these settings? – user2168046 Feb 21 '16 at 16:19
  • 1
    @Facebook Awarding existing answer – Martheen Sep 28 '17 at 20:38
  • @MartheenCahyaPaulo I went a head and added an answer with more detail as I reviewed those answer I provided you links to and I was missing some of the key points but I'll get those updated another day with applicable detail. I added everything I typically do when I used the solution I provided in my written answer. – Vomit IT - Chunky Mess Style Sep 30 '17 at 20:46
  • 1
    @MartheenCahyaPaulo thanks for the bounty that was a pleasant surprise :) – User Oct 04 '17 at 16:07

3 Answers3

65

System unattended sleep timeout

There is a hidden setting in the Power Options control panel called System unattended sleep timeout. By default it is set to two minutes and is not visible in the control panel. As far as I know, a registry tweak is required to make it visible.

The tweak involves changing the value of the "Attributes" key from 1 to 2 in the following location:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0]

Changing the value back to 1 re-hides the power option.

After making the above registry tweak open the Power Options control panel and there should now be a System unattended sleep timeout setting:

enter image description here

A reboot may be a good idea after.

You can read more about it here (and also download a .reg patch file if you want): http://www.sevenforums.com/tutorials/246364-power-options-add-system-unattended-sleep-timeout.html

Console lock display off timeout

There is also a somewhat related setting Console lock display off timeout which also requires a registry tweak to enable. I did not find this tweak necessary to fix my problem but perhaps you may. The tweak again involves changing the value of the "Attributes" key from 1 to 2, this time in the following location:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\7516b95f-f776-4464-8c53-06167f40cc99\8EC4B3A5-6868-48c2-BE75-4F3044BE88A7

And you can read more about it here: http://www.eightforums.com/tutorials/8267-power-options-add-console-lock-display-off-timeout.html

User
  • 3,597
  • 9
  • 37
  • 50
  • Possibly related [Monitor powers off after 1 minute when PC is locked](https://support.microsoft.com/en-us/kb/2835052) – User Jan 09 '16 at 10:22
  • 1
    I may try these if I can't find another solution. These seem to address a different problem than what I'm dealing with though. It isn't the monitor, and I've disabled the lock screen. As to the first tweak, the computer isn't waking up idle, it will just go into sleep mode at any instance of idleness. Playing media will prevent it though, so I know that power setting is still working. – user2168046 Jan 14 '16 at 23:43
  • 7
    It is hard to understand what motivates Microsoft to have a **hidden** "2 minutes unattended" setting. In fact, it is also hard to understand why the power settings are so complicated (and distributed throughout different generations of MS config widgets and Registry Edits). I find this kind of stuff incredibly annoying and tedious to figure out. Apple's Settings have changed very little in the last 10 years. And I suspect Linux power settings are also more simple. – JL Peyret Jul 08 '17 at 06:51
  • 1
    This solved my problem. Thanks. This is what drives me nuts about Windows. I changed nothing, yet this happens. Why ? Don't know. Will it happen again ? Maybe. Will I remember this obscure fix ? Probably not. Gah. – Phil Aug 25 '17 at 16:02
  • 4
    @JLPeyret According to [Microsoft's Documentation](https://docs.microsoft.com/en-us/windows-hardware/customize/power-settings/sleep-settings-sleep-unattended-idle-timeout), the unattended sleep timeout is only supposed to be used instead of the normal sleep timeout if the system wakes itself up instead of the user waking it up. For instance, if the system is woken by a scheduled event, it would fall back asleep after two minutes by default. For some reason, however, it seems the value is used even for user initiated wake-ups on some computers. – Vaelus Feb 13 '18 at 03:48
  • 1
    god praise you. It was fucking driving me crazy. Thanks a lot – user853710 Mar 15 '19 at 14:46
  • For those interested, you'll find HKEY_LOCAL_MACHINE by doing the following: click Start → Run and then type regedit in the Open: text field and click OK. – Johan Apr 30 '19 at 15:18
  • Ok! I just implemented this fix. Let's hope it works! As others have said, this has been driving me totally nuts for weeks. Shame on Microsoft for such a stupid, annoying, hard to fix, assinine "feature". – Casey Crookston Jun 07 '19 at 14:22
  • @Phil Maybe the issue is actually in the device you use to wake the system. I have logitech keyboard and when I wake it using the logitech keyboard then the "powercfg -lastwake" command thinks the ethernet connection was the wake event making windows use the unattended sleep timer – MichaelD Aug 14 '19 at 09:19
4

For further solution thoroughness in case all other solutions provided do not work to keep the Windows machine from going into a power saving or sleep mode, I'll provide a workaround solution that has worked for me when no other settings could be determined to resolve it otherwise.


Prevent Windows from Sleeping

Note: You can still set any other power saving prevention settings I don't mention if you want.

Creating Script Directory

  1. Create a C:\Scripts and C:\Scripts\Temp folder change the ScriptDir variable value to be something different if you wish and use the below command line logic to do this for you

    • Copy and paste this into command line to create the folder this way

      SET ScriptDir=C:\Scripts
      IF NOT EXIST "%ScriptDir%" MD "%ScriptDir%"
      
    • The batch script below needs to be copied into the root of the C:\Scripts folder


Creating Batch Script

  1. This is the batch script you'll create and/or copy to the script directory you decided to use so you can automate the script execution with Task Scheduler.

    • Essentially this script uses sendkeys to emulate the pressing of the spacebar 8 times but I put the logic in a FOR /L to lessen the script logic needed.

    • @ECHO ON
      
      IF NOT EXIST "%~dp0Temp" MD "%~dp0Temp"
      SET TempVBSFile=%~dp0Temp\~tmpSendKeysTemp.vbs
      IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
      
      FOR /L %%A IN (1,1,9) DO (
        IF %%A==1 ECHO Set WshShell = WScript.CreateObject^("WScript.Shell"^)>>"%TempVBSFile%"
        IF NOT %%A==9 ECHO Wscript.Sleep 500 >>"%TempVBSFile%" & ECHO WshShell.SendKeys " ">>"%TempVBSFile%"
      )
      EXIT
      
    • Schedule a task with Task Scheduler using the settings as specified in the Scheduling Batch Script section


Scheduling Batch Script

Note: Open Task Scheduler or type in Taskschd.msc from Run and press Enter.

  1. From the General tab you will want to be sure the Run whether user is logged on or not is checked, Run with the highest privileges is checked, and that you also run the task with a credential that has local administrator privileges is you can.

    • enter image description here
  2. From the Triggers tab, define a New trigger and be sure to set options:

    • Begin the task: with a value of On a schedule
    • Start: with a time value of 12:00:00 AM
    • Settings: with the Daily value checked
    • Recur every: with a 1 day value
    • Repeat task every: with a 10 minutes value
    • For a duration of: with an Indefinitely value
    • The Enabled option should be checked

    • enter image description here

  3. From the Actions tab, define a New action and be sure to set options:

    • Action: with a value of Start a program
    • Program/script: with a value of full path to the batch script i.e. C:\Scripts\WakeUpWindows.cmd
    • Start in (optional): with the value of the script directory i.e. C:\Scripts

    • enter image description here

  4. From the Conditions tab be sure to set and/or check to enable options:

    • Start the task only if the computer is idle for: should be checked and have a value of 10 minutes

      • Only execute the script if the computer has been idle for 10 minutes. If the computer has not been idle for 10 minutes then likely someone has used it and the process shouldn't need to run yet.
    • Wait for idle for: with a value of 5 minutes

      • When the idle for 10 minutes condition is false this tells it keep checking for up to an additional 5 minutes and still execute the script if the 10 minute idle condition becomes true within that 5 minute window.
    • The Stop if the computer ceases to be idle option should be checked

      • If the Stop if the computer ceases to be idle condition is selected for a task and the task is running while the computer is in an idle state, then the task will stop running when the computer ceases to be idle.

        source

    • The Wake the computer to run this task option should be checked

    • enter image description here

    A computer is considered to be in an idle state when a screen saver is running. If a screen saver is not running, then the computer is considered to be in an idle state if there is 0% CPU usage and 0% disk input or output for 90% of the past fifteen minutes and if there is no keyboard or mouse input during this period of time. Once the Task Scheduler service detects that the computer is in an idle state, the service only waits for user input to mark the end of the idle state.

    source


Additional Power Saving Settings

  1. From an elevated command prompt run POWERCFG -H OFF to disable hibernation just in case it’s not already disabled.

  2. Copy control /name Microsoft.PowerOptions into Run and then press Enter.

    enter image description here

  3. Click on Change plan settings for whichever Preferred plan is checked to open the Edit Plan Settings screen.

    enter image description here

  4. Be sure the Put computer to sleep value is set to Never, and then click on the Change advanced power settings option

    enter image description here

  5. From the Advanced settings find and expand Hard disk, and then set the Turn off hard disk after Setting (minutes) to a value of Never

    Note: Be sure to Apply and Save Changes where applicable

    enter image description here

  6. Open Device Manager or type in devmgmt.msc from Run and press Enter.

  7. From Device Manager expand Network adapters, right click on the main NIC (or all if you wish one-by-one) and select Properties. From the Power Management tab, uncheck the option Allow the computer to turn off the device to save power.

enter image description here


Further Resources

Vomit IT - Chunky Mess Style
  • 40,038
  • 27
  • 84
  • 117
  • So this would keep the computer *always* on right? What I like about the answer I awarded the bounty is they pointed out the *why*, and the PC can still go sleep when left idle (at least until next season update with more obscure registry keys). [Caffeine](http://www.zhornsoftware.co.uk/caffeine/) use similar approach with yours, they use F15 instead of spacebar to reduce intrusion, and they mentioned it even could interfere with Google Docs & Putty. But kudos to you for such detailed answer. – Martheen Oct 01 '17 at 02:49
  • @MartheenCahyaPaulo If all else fails, simply use this and perhaps it'll resolve your problem using 100% Windows native solution as a workaround. You are correct regarding the registry keys though, what that is today may be something different or in conjunction with tomorrow and thus this workaround solution I provided with detail. Again, I have two other answers with similar content that I'll be updating with some of this information as well in the near future—I'm glad I ran across the question regardless. – Vomit IT - Chunky Mess Style Oct 01 '17 at 04:45
0

Just for completeness, sometimes the root of this problem are customized power plan settings.

To fix it by resetting and then re-configuring your power settings, you need to:

  1. Start Menu -> Settings -> System -> Power & sleep in the left pane.
  2. In the right pane, click on Additional power settings.
  3. Select Choose when to turn off the display.
  4. Click on Change advanced power settings.
  5. Click on Restore plan defaults.

The Power Troubleshooter can also help, accessed via :
Start Menu -> Troubleshooting -> Improve power usage -> Power.

harrymc
  • 455,459
  • 31
  • 526
  • 924