Sleep problems have plagued PCs for years, with computers waking when they shouldn’t and failing to go into standby when they should. With Windows 10, the problems have got worse, as out-of-date drivers and automatic updates can play havoc with your computer.

We’ve split the solution into two parts. First, we’ll look at how you can get your computer to stay asleep and second, we’ll look at how you can force your computer to go to sleep.​

1. Computer wakes from sleep

If you’ve got problems with your computer waking itself from sleep mode, then it can happen almost immediately, or after a few hours. If it’s the former, then it’s typically a piece of hardware waking up your computer; the latter points to a service or scheduled task, such as Windows Update.

To find out what is responsible, you need to put your computer to sleep using the Start Menu option. When it wakes up, press Windows-X and select Command Prompt (Admin). At the command line type powercfg /lastwake and you’ll see what was responsible for waking your computer. If you just see something listed under Friendly Name, such as Intel (R) USB 3.0 eXtensible Host Controller – 1.0 (Microsoft), then the odds are it’s a USB device that has woken your computer. But you could see a different piece of hardware, such as a network adaptor, or a scheduled task or service.​

You can further track down hardware problems by using the command powercfg / devicequery wake_armed. This will show you a list of hardware that is allowed to wake your computer. Make a note of the list of devices for future use. In most cases, a device will wake your computer because it’s using out-of-date driver software or generic Microsoft drivers.

To test this, you can temporarily stop any device listed from being able to wake your computer. Press Windows-X and select Device Manager. Most devices listed by the wake-armed command will have descriptive names, such as HID Keyboard Device, which makes them easy to find in Device Manager by expanding the matching section. Double-click the device you want to change to bring up a new dialog box. Click the Power Management tab (if there isn’t one, then the device you’ve selected can’t wake your computer), untick Allow this device to wake the computer and then click OK. For network cards, select Only allow a magic packet to wake the computer.​

Once you’ve done one device, go back to the command prompt and type powercfg /devicequery wake_armed. The list should now be shorter. Set your computer to go into Sleep Mode. If it doesn’t wake up, then you’ve found the problem device; if it does wake up, follow the instructions above until you’ve found the problem device.

Once you know which device is causing the problem, search online for a Windows 10 driver for it and install it. If there’s no Windows 10 driver available, leave the device as unable to wake the computer.

​Now re-enable the other devices that you prevented from waking your computer. You’ll need to retest that your PC stays asleep. If it doesn’t, you have a second problem device, so repeat these instructions to find it and update its driver (if available).

If your computer is waking up for another reason, such as in the middle of the night, then it’s most likely a scheduled task. There are a few things to disable that can help here.​

First, you can disable wake timers. Press Windows-X and select Power Options. Click Change plan settings next to the power plan that you’re using, and then click Change advanced power settings. Expand Sleep, and Allow wake timers and then set all available options to Disable. Click OK to apply. Now repeat these instructions for all the listed power plans, remembering to expand the full list by clicking Show additional plans on the Power Options screen.

Windows can also wake itself automatically to perform maintenance, such as to defragment your hard disk. This is just plain annoying. To change this, open up the Control Panel and go to System and Security, Security and Maintenance. Expand the Maintenance section and click the Change maintenance settings link. Here, you’ll see the time that your computer is set to perform maintenance tasks (our PC was set for 2am). You can change the time to something more palatable, or you can untick the Allow scheduled maintenance to wake up my computer at the scheduled time box to permanently disable it.

Finally, Windows can wake itself up with a scheduled task. To find out what can do this, open the Start Menu and type Powershell, then select Windows PowerShell. At the command prompt, type Get-ScheduledTask | where {$_.settings. waketorun}. This will show you all scheduled tasks that can wake your computer. To find a task, open the Start Menu and type Task and select Task Scheduler. From the PowerShell list, you only need worry about the ones that have the State set to Ready.​

Use the PowerShell TaskPath column to expand the right folder, by first expanding the Task Scheduler Library option in the left-hand window. When you’ve found the task name, double-click it to open the settings dialog box, then click Conditions and untick Wake the computer to run this task. Click OK to apply the settings. The Windows 10 Reboot task is used by Windows Update and can be reset by Windows, overriding your changes. The task can be permanently disabled if it’s really causing grief.

2. Windows won't go to sleep automatically

If your computer doesn’t automatically go to sleep, something is keeping your PC awake. To find out what it is, press Windows-X and select Command Prompt (Admin). Type powercfg /requests and hit Enter. This will show you a list of devices and software that are currently preventing your computer from sleeping. The list needs to be empty for your computer to go to sleep. If you see something in the list, wait around five minutes and run the same command again: it’s common for your computer to be doing something where Sleep mode would cause an issue, but these tasks shouldn’t stick around forever.

​If you’re still getting anything listed in the requests list, then it’s time to take a tougher stance. First, if it’s an application causing the problems, then look for an update, but close it down in the meantime. If you can see anything about audio playing, look for open browser tabs or other applications that are playing audio or video. Pause the content or shut the application or browser tab.

​There are a couple of well-known problems that should be fixed. Google Chrome is a massive pain and will often keep a computer awake, and you’ll often see it in the requests list. Often, it’s a specific website or extension causing the issue. Try closing down any tabs playing audio (look for the speaker icon). Next, shut down one tab at a time and keep running the powercfg /requests command until you find the problem one.

Unfortunately, this doesn’t always fix the issue, and a regular website will just stop your computer from going to sleep. The easiest way around the problem is to add an override that makes Windows 10 ignore what Chrome is up to. To do this, go back to the command prompt and type powercfg / requestsoverride PROCESS chrome.exe AWAYMODE DISPLAY SYSTEM. To remove the override, type powercfg / requestsoverride PROCESS chrome.exe​

Finally, you may see that the [DRIVER] Legacy Kernel Caller is keeping your computer awake. This is most likely down to a bit of hardware running outdated software: a sound card, particularly a USB model, is most likely to blame. Look for the latest manufacturerprovided drivers for your hardware (if available) and install them to fix the issue.

Source: The Computer Shopper Magazine