How to Configure Windows Power Settings for Performance and Battery Life
Configure Windows power plans for maximum performance or battery life. Set sleep timers, hibernate, fast startup and manage power via PowerShell and Group Policy.
Power settings affect both performance and battery life. Here's how to configure them precisely for your use case.
View and Set Power Plans
# List all power plans
powercfg /list
# Get active plan
powercfg /getactivescheme
# Switch to High Performance
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
# Switch to Balanced
powercfg /setactive 381b4222-f694-41f0-9685-ff5bb260df2e
# Switch to Power Saver
powercfg /setactive a1841308-3541-4fab-bc81-f71556f20b4a
# Enable Ultimate Performance (hidden by default)
powercfg /duplicatescheme e9a42b02-d5df-448d-aa00-03f14749eb61
Configure Sleep and Hibernate
# Set monitor off after 10 minutes (AC power)
powercfg /change monitor-timeout-ac 10
# Set sleep after 30 minutes (AC power)
powercfg /change standby-timeout-ac 30
# Set hibernate after 60 minutes (AC power)
powercfg /change hibernate-timeout-ac 60
# Battery (DC) settings
powercfg /change monitor-timeout-dc 5
powercfg /change standby-timeout-dc 15
powercfg /change hibernate-timeout-dc 30
# Disable hibernate entirely (saves ~4GB disk space)
powercfg /hibernate off
# Re-enable hibernate
powercfg /hibernate on
Configure via PowerShell (GUID-based)
# Get current plan GUID
$plan = (powercfg /getactivescheme).Split()[3]
# Set specific setting — e.g. processor max state
# AC power: keep CPU at 100%
powercfg /setacvalueindex $plan SUB_PROCESSOR PROCTHROTTLEMAX 100
# DC power: limit CPU to 80% for battery saving
powercfg /setdcvalueindex $plan SUB_PROCESSOR PROCTHROTTLEMAX 80
# Apply changes
powercfg /setactive $plan
Fast Startup
Fast Startup uses hibernation for faster boot — but can cause issues with BitLocker and dual boot:
# Check if Fast Startup is enabled
(Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power").HiberbootEnabled
# Disable Fast Startup
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power" `
-Name "HiberbootEnabled" -Value 0 -Type DWord
# Enable Fast Startup
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power" `
-Name "HiberbootEnabled" -Value 1 -Type DWord
Battery Report
# Generate detailed battery report
powercfg /batteryreport /output "C:\battery-report.html"
Start-Process "C:\battery-report.html"
# Energy efficiency report (finds power issues)
powercfg /energy /output "C:\energy-report.html"
Prevent Sleep When Running Tasks
# Keep PC awake temporarily (prevents sleep for current session)
# Useful before running long scripts
$code = @"
[DllImport("kernel32.dll")] public static extern uint SetThreadExecutionState(uint flags);
"@
$t = Add-Type -MemberDefinition $code -Name "PowerMgmt" -PassThru
$t::SetThreadExecutionState(0x80000003) # ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED
Write-Host "Sleep prevented. Press any key to restore..."
$null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
$t::SetThreadExecutionState(0x80000000) # ES_CONTINUOUS (restore)
Summary
Use powercfg /list and /setactive for plan switching. Set timeouts with /change. Battery report with /batteryreport. Disable hibernate with /hibernate off on desktops to recover disk space.
Frequently Asked Questions
High Performance vs Ultimate Performance — what's the difference?
High Performance prevents the CPU from downclocking but still allows some power saving states. Ultimate Performance removes all minimum processor states — every CPU core runs at full speed constantly. Noticeable difference on servers; minimal on modern laptops.
Why does Windows wake up from sleep randomly?
# Find what woke the PC
powercfg /lastwake
# List wake timers
powercfg /waketimers
# Disable wake timers
powercfg /setacvalueindex scheme_current sub_sleep rtcwake 0
powercfg /setactive scheme_current
Should I leave my laptop plugged in all the time?
Modern laptops have battery management that prevents overcharging. However, keeping battery at 100% long-term reduces capacity. Many manufacturers (Dell, Lenovo, HP) have tools to limit charge to 80% for better longevity.