Modern Standby SleepStudy: Finding Windows Battery Drain by Session
Use powercfg SleepStudy to investigate Modern Standby sessions, distinguish screen-off activity from sleep residency, and corroborate component-level battery drain.
On a Modern Standby PC, closing the lid or pressing the power button does not necessarily mean the system has entered a deep, quiet sleep state. The platform can move through active, screen-off, and low-power phases while selected software and hardware components perform background work. SleepStudy summarizes those sessions and provides first-level clues about activity and estimated energy use. It is designed to avoid creating the disk activity that would materially distort the low-power behavior it is measuring, but it is still a diagnostic report rather than a direct measurement of battery current.
SleepStudy is not available on every Windows device. First inspect supported sleep states with powercfg /a; the platform’s Modern Standby capability determines whether this report applies. On a supported device, the built-in report normally covers the most recent three days, and the duration can be extended up to 28 days. Generate it after reproducing the battery-drain complaint and record the period it covers, the battery condition, network state, and whether the device was docked or connected to AC.
Generate a bounded report and preserve context
Run the command from an elevated terminal and save the report to a case folder. A seven-day window can help compare weekdays and weekends, but a very long window can make unrelated use patterns harder to isolate. Keep the raw HTML report alongside any PDF or screenshot used in a ticket so the original session tables remain available.
$case = Join-Path $env:USERPROFILE ("Documents\SleepStudy-{0:yyyyMMdd-HHmmss}" -f (Get-Date))
New-Item -ItemType Directory -Path $case -Force | Out-Null
powercfg /a | Out-File -LiteralPath (Join-Path $case 'available-sleep-states.txt') -Encoding utf8
if ($LASTEXITCODE -ne 0) { throw "powercfg /a failed: $LASTEXITCODE" }
$report = Join-Path $case 'sleepstudy.html'
powercfg /sleepstudy /duration 7 /output $report
if ($LASTEXITCODE -ne 0 -or -not (Test-Path -LiteralPath $report)) {
throw "SleepStudy report was not generated successfully."
}
Get-Item -LiteralPath $report | Select-Object FullName, Length, LastWriteTimeUtc
Get-FileHash -LiteralPath $report -Algorithm SHA256
If /a shows that the system does not support the required standby model, do not interpret a missing SleepStudy report as a fault. Use the appropriate sleep diagnostics for that platform, such as powercfg /systemsleepdiagnostics, and validate its scope against the operating-system help. Keep the command output because it establishes which power capabilities the machine actually exposes.
Read session states instead of treating one percentage as a verdict
Review the report’s sessions around the user’s complaint. Starting with Windows 10 version 2004, reports distinguish Active, Screen Off, and Sleep segments within an overall screen-off-to-screen-on session. A long screen-off interval followed by a short low-power interval suggests the machine spent time quiescing or remaining active rather than residing in the expected low-power state. Compare the duration and estimated energy across multiple sessions; a single odd session may reflect legitimate update, synchronization, or user activity.
Look for activities with substantial duration or estimated energy, but avoid attributing causation solely from their presence. SleepStudy supplies first-level information about components that were active; it does not show every code path or prove that one process alone caused a platform-level failure to enter the low-power state. Correlate a suspect component with its relevant logs, drivers, firmware, connected peripherals, and a controlled reproduction. If a report flags a device or application, disable or update only through a reversible, vendor-supported test and compare the next equivalent session.
The report also includes battery name, manufacturer, size, and design capacity. Estimated battery life depends on the report’s battery configuration and system behavior, so compare like-for-like power conditions. Battery wear, temperature, display brightness, radios, workload, and calibration can affect runtime independently of standby residency. SleepStudy can identify that energy was consumed during a nominally sleeping period; it cannot by itself distinguish battery degradation from all other contributors.
Build a clean comparison experiment
Choose an interval long enough to create a representative standby session, record the start and wake times, and keep the workload consistent. Note AC connection, network connectivity, lid state, peripheral attachment, and whether a scheduled maintenance window occurred. Generate a report before changing several drivers or power policies. After one controlled change, repeat the same observation window and compare session duration, Active/Screen Off/Sleep proportions, energy estimates, and active components.
If drain is intermittent, examine multiple days and preserve the complete report. A device that wakes to process a scheduled task is different from one whose platform never transitions into low-power residency; both can lower battery life but have different remediation. Also correlate unexpected wakeups with the System log and device wake configuration rather than indiscriminately disabling every wake-capable device.
Limits, privacy, and escalation
SleepStudy reports can reveal device, battery, application, and component names. Store and transmit them as support diagnostics under the organization’s privacy and retention rules. Do not publish a report unredacted. On systems whose support workflows generate traces automatically, avoid repeating expensive or disruptive captures unless the underlying symptom recurs.
Escalation should include the system model and firmware, Windows build, available sleep-state output, report hash and collection time, affected session identifiers, AC/network/peripheral state, and any controlled comparison. This makes it possible for a platform or driver engineer to distinguish a recurring residency problem from a one-off active task.
SleepStudy is strongest as a session-oriented triage instrument. It converts “the battery was lower after sleep” into evidence about when the system was active and which components deserve further investigation, while leaving root-cause confirmation to correlated measurements and a reproducible test.
Related:
- Windows Power Requests: Keep a Real Work Scenario Awake, Then Release It
- Understanding the Windows Boot Process: UEFI, Boot Manager, and Winload
Sources: