Technical guide

How to Use Powercfg for Windows Sleep and Power Diagnostics

Use Windows powercfg to identify supported sleep states, power requests, wake sources, wake timers, and generate sleep and power diagnostic reports.

On this page
  1. Start by identifying the sleep model Windows actually exposes
  2. Use /requests when the PC refuses to go to sleep
  3. Use /lastwake and /waketimers for an unwanted wake
  4. Use device queries when the wake evidence points to hardware
  5. Generate a sleep-transition report when one command is not enough
  6. Use SleepStudy only when the platform supports Modern Standby
  7. Match the command to the symptom instead of running every switch

Start by identifying the sleep model Windows actually exposes

Open Windows Terminal or Command Prompt as administrator when a command requires elevation, then run `powercfg /availablesleepstates` (or `powercfg /a`). Microsoft documents this command as reporting the sleep states available on the current system and reasons unavailable states cannot be used.

This matters because a Modern Standby PC and a traditional S3-sleep PC do not follow identical diagnostic paths. Microsoft notes that systems supporting Modern Standby use S0 low-power idle rather than the traditional S1-S3 standby states. Record the output before changing firmware or power settings so later tests are tied to the machine's actual sleep model.

Choose the powercfg command for the question you are trying to answer
QuestionCommandWhat the result tells you
Which sleep states can this PC use?powercfg /aAvailable system sleep states and reasons some states are unavailable
What is currently preventing sleep or display idle?powercfg /requestsApplication and driver power requests
What woke the PC last time?powercfg /lastwakeInformation about the most recent recorded wake transition
Are timers scheduled to wake it?powercfg /waketimersActive wake timers
What happened across recent sleep transitions?powercfg /systemsleepdiagnosticsHTML/XML diagnostic report of recent user-absence and sleep intervals
How did Modern Standby sessions behave?powercfg /sleepstudyModern Standby session activity and power information on supported systems

Use /requests when the PC refuses to go to sleep

Run `powercfg /requests` when the symptom is that Windows stays awake rather than sleeping and waking later. Microsoft defines this command as enumerating application and driver Power Requests. Those requests can identify software or drivers asking Windows to keep the display or system available.

Do not jump directly to `powercfg /requestsoverride`. An active request is evidence about the current power policy interaction, not proof that the requester is faulty. Identify the process, service or driver, reproduce the symptom, and check its legitimate workload before overriding behavior that may be intentional.

Use /lastwake and /waketimers for an unwanted wake

Immediately after an unexpected resume, run `powercfg /lastwake`. Microsoft documents it as reporting information about what woke the system from the last sleep transition. Capture the output before deliberately sleeping and waking the PC again, because a later transition can replace the evidence you wanted.

Then run `powercfg /waketimers`. This enumerates active wake timers, which are different from requests that prevent sleep in the first place. A listed timer is most useful when its owner and scheduled time correlate with the unwanted wake; do not disable unrelated scheduled tasks merely because they appear in a list.

Use device queries when the wake evidence points to hardware

`powercfg /devicequery wake_armed` lists devices currently configured to wake the system. `powercfg /devicequery wake_programmable` lists devices whose wake behavior can be configured through Windows. These lists describe capability or configuration; they do not by themselves prove which device caused a particular wake.

When `/lastwake` repeatedly identifies a specific device, a narrowly scoped wake-disable test can be useful. Preserve the exact device name and restore wanted wake functionality afterward. Avoid blanket-disabling keyboards, mice, network adapters and USB devices, because that destroys useful wake paths without establishing the original cause.

Generate a sleep-transition report when one command is not enough

For a broader history, Microsoft documents `powercfg /systemsleepdiagnostics` as generating an HTML report covering recent intervals when the user was absent and whether the system entered sleep. The command requires an elevated prompt. You can choose an output path and use `/duration days` when you need a wider or narrower analysis window supported by the command.

Microsoft also provides `powercfg /systempowerreport` (or `/spr`) for recent system power transitions. These reports are useful when the symptom spans multiple transitions and a single `/lastwake` result cannot describe the timeline. Preserve the report before making several configuration changes so you still have a baseline.

Use SleepStudy only when the platform supports Modern Standby

On a Modern Standby-capable system, `powercfg /sleepstudy` creates an HTML report describing standby sessions, including active and idle time and power-consumption information. Microsoft positions SleepStudy as a first-level way to investigate activity occurring during Modern Standby without generating diagnostic activity that would itself disturb the state being measured.

Do not treat SleepStudy as a universal sleep report for every desktop. First check `powercfg /a`; if the machine uses traditional S3 rather than Modern Standby, use the diagnostics appropriate to that sleep model. Likewise, a SleepStudy activity entry is evidence to investigate, not automatic proof that an application or device is defective.

Match the command to the symptom instead of running every switch

If the PC never sleeps, start with `/requests`. If it sleeps and wakes unexpectedly, start with `/lastwake` and `/waketimers`. If the issue involves repeated transitions across hours or days, generate a diagnostic report. If the machine uses Modern Standby and the concern is standby activity or battery drain, SleepStudy is the more specific report.

Powercfg output should narrow the next step rather than become a diagnosis by itself. Correlate its evidence with Event Viewer, the exact device or software involved, firmware documentation and the timing of the symptom. That produces a reproducible diagnostic path without turning generic power settings into permanent performance tweaks.

Sources

Primary and technical sources

Technical details can vary by exact model, firmware, and platform. These are the sources used for the factual claims in this article.

  1. 01 Microsoft Learn

    Powercfg command-line options
  2. 02 Microsoft Learn

    System power states
  3. 03 Microsoft Learn

    Modern Standby SleepStudy

Related

Technical guide

How to Use System Restore in Windows 11

Use System Restore in Windows 11 from the desktop or Windows Recovery Environment, create restore points, check affected programs, and understand what restoration changes.