How to disable adaptive hibernate

5,224

Go to (New) Settings->Power and Sleep.

In there, switch off "Save me power when my device knows I'm away."

Share:
5,224

Related videos on Youtube

user193130
Author by

user193130

Updated on September 18, 2022

Comments

  • user193130
    user193130 over 1 year

    After a Windows Update a few days ago, I noticed my Surface Book started automatically hibernating after entering standby for only 30 minutes, even on a full battery. Under advanced power options, the Hibernate after sleep on battery is set to 1200 minutes (20 hours) which Windows respected prior to the recent Windows update.

    The event log showed the reason as "User Away Predicted". Upon some Googling, the behavior seems to be part of a feature called Adaptive Hibernate. Trying a command from that page powercfg /setdcvalueindex scheme_current sub_presence standbybudgetpercent 50 gave an Invalid Parameters error.

    Windows seem to think it's smarter than me about my usage -- how do I wrestle control back and disable this annoying "feature"?


    The two relevant event log entries:

    Log Name:      System
    Source:        Microsoft-Windows-Kernel-Power
    Date:          3/31/2017 9:55:29 PM
    Event ID:      42
    Task Category: (64)
    Level:         Information
    Keywords:      (70368744177664),(1024),(4)
    User:          N/A
    Computer:      SURFACE-BOOK
    Description:
    The system is entering sleep.
    
    Sleep Reason: Hibernate from Sleep - User Away Predicted
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-Kernel-Power" Guid="{331C3B3A-2005-44C2-AC5E-77220C37D6B4}" />
        <EventID>42</EventID>
        <Version>3</Version>
        <Level>4</Level>
        <Task>64</Task>
        <Opcode>0</Opcode>
        <Keywords>0x8000400000000404</Keywords>
        <TimeCreated SystemTime="2017-04-01T01:55:29.009291800Z" />
        <EventRecordID>6671</EventRecordID>
        <Correlation />
        <Execution ProcessID="4" ThreadID="9836" />
        <Channel>System</Channel>
        <Computer>SURFACE-BOOK</Computer>
        <Security />
      </System>
      <EventData>
        <Data Name="TargetState">5</Data>
        <Data Name="EffectiveState">5</Data>
        <Data Name="Reason">11</Data>
        <Data Name="Flags">0</Data>
        <Data Name="TransitionsToOn">16</Data>
      </EventData>
    </Event>
    
    Log Name:      System
    Source:        Microsoft-Windows-Kernel-Power
    Date:          3/31/2017 9:25:38 PM
    Event ID:      172
    Task Category: (203)
    Level:         Information
    Keywords:      (1024),(4)
    User:          SYSTEM
    Computer:      SURFACE-BOOK
    Description:
    Connectivity state in standby: Disconnected, Reason: Policy Setting
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Microsoft-Windows-Kernel-Power" Guid="{331C3B3A-2005-44C2-AC5E-77220C37D6B4}" />
        <EventID>172</EventID>
        <Version>0</Version>
        <Level>4</Level>
        <Task>203</Task>
        <Opcode>0</Opcode>
        <Keywords>0x8000000000000404</Keywords>
        <TimeCreated SystemTime="2017-04-01T01:25:38.720738500Z" />
        <EventRecordID>6666</EventRecordID>
        <Correlation />
        <Execution ProcessID="4" ThreadID="8020" />
        <Channel>System</Channel>
        <Computer>SURFACE-BOOK</Computer>
        <Security UserID="S-1-5-18" />
      </System>
      <EventData>
        <Data Name="State">2</Data>
        <Data Name="Reason">1</Data>
      </EventData>
    </Event>
    
    • Varad Mahashabde
      Varad Mahashabde about 7 years
      Try powercfg /setdcvalueindex scheme_current sub_presence standbybudgetpercent 0.5. Or try reading the currently set value.
    • user193130
      user193130 about 7 years
      Hmm your command didn't give an error so maybe it worked. How do you read the current value? /query didn't show any value under SUB_PRESENCE
    • Varad Mahashabde
      Varad Mahashabde about 7 years
      I tried /q too, but it didn't work (VM). But did it solve your problem?
    • user193130
      user193130 about 7 years
      Unfortunately it didn't. Running /SYSTEMSLEEPDIAGNOSTICS, I found that there's a Smart User Presence Prediction Information section under each session which implies that it's trying to learn my behavior, though it seems to be pretty bad at it. Not sure how to make sense of the data though, do you have any idea?