SleepWakeSolution

SleepWakeSolution

Ноутбук (Windows 7) раздражает меня с того дня, как мы его получили. Когда его переводишь в спящий режим (крышка закрыта), он периодически просыпается.случайноночью (например, в 22:00, 1:30, 7:00 и т. д.). С этим сталкиваются многие люди, но я провел несколько тестов и сделал множество наблюдений, чтобы предоставить здесь как можно больше информации для диагностики проблемы.


Когда ноутбук просыпается среди ночи, можно сделать несколько показательных наблюдений:

  • Он остается включенным примерно 20-50 секунд (больше, чем несколько, меньше, чем много)
  • Экран остается выключенным (полностью, а не только подсветка)
  • Жесткий диск все время перегружен (светодиод HD горит почти постоянно)
  • DVD-привод раскручивается и громко жужжит в течение ~5-10 секунд, если в нем есть диск.
  • Windows активна (PnPбинь-бонгслышен шум, если диск/клавиатура и т. п. были извлечены или подключеныпослесистема была переведена в спящий режим)
  • (Неподтверждено: нажатие клавиши — если она включена — не включит ее в следующий раз;должениспользуйте кнопку питания)
  • При следующем включении системы не будет никаких признаков предыдущей случайной активности (использование powercfg -lastwakeвозвращаетИстория пробужденияиКоличество источников пробужденияиз 0)

Другие наблюдения включают в себя:

  • Похоже, что это не происходит, когда Windows выключена или находится в спящем режиме, а только когда она переведена в спящий режим (например, крышка закрыта)
  • В планировщике задач Windows 7 имеется бесчисленное множество задач, но быстрое сканирование показывает, что ни одна из них не является ответственной (хотя я включил историю, чтобы отслеживать ее).
  • (Я все время пытаюсь поймать его, чтобы нажать клавишу и вывести экран на экран, чтобы увидеть, что происходит, но это всегда происходит в неподходящий момент и выключается прежде, чем я успеваю это сделать)
  • КакМарк предложилЯ проверил журнал событий и нашел ряд событий, которые на данный момент являются лучшей подсказкой:

    6:51:37pm The system is entering sleep.
              Sleep Reason: Button or Lid
    6:51:42am The system time has changed to ‎2012‎-‎08‎-‎21T10:51:42.500000000Z from ‎2012‎-‎08‎-‎20T22:51:39.080510600Z.
    6:51:42am-6:51:47am Six services were stopped…
    6:51:47am The system has resumed from sleep.
              Sleep Time: ‎2012‎-‎08‎-‎21T10:51:46.021150600Z
              Wake Time: ‎2012‎-‎08‎-‎21T10:51:44.010053500Z
              Wake Source: S4 Doze to Hibernate
    6:51:55am The system is entering sleep.
              Sleep Reason: Hibernate from Sleep
    

Чем это не является:

  • Обновление Windows: WU настроено только на проверку, а не на загрузку, и делает это в полдень (неслучайно)
  • Wake-on-LAN: WoL и Magic-Packet отключены вДиспетчер устройств, в BIOS нет опции, а кабельный модем отключается на ночь
  • Устройства: все клавиатуры, мыши, сетевые карты настроены так, чтобы не пробуждать систему ( powercfg -devicequery wake_armedвозвращает пустой список)
  • Вредоносное ПО: Это новая система с последними обновлениями Windows и активным MSSE с последними определениями, а также осторожный просмотр с помощью последней версии Chrome и отсутствие файлов, которые хотя бы немного подозрительны.

У меня есть две теории относительно того, что это может быть:

  1. Гибридный сон

    В Windows Vista и выше гибридный сон позволяет системе сначала заснуть (перейти в режим ожидания в оперативной памяти), а затем, через некоторое время, сбросить память на диск для перехода в спящий режим. Это может иметь смысл, поскольку ноутбук спит, а затем в конечном итоге переходит в спящий режим, поэтому он просыпается, чтобы сбросить память на диск.

    Это может сработать, так как вместо того, чтобы идти прямо в Windwos, BIOS POST и Windows «возобновляются». Однако этодолженпереход от сна к гибернации втакой жевремя, а не случайно. Более того, в этом конкретном ноутбуке не включен гибридный сон.

    Может ли кто-нибудь подтвердить (на низком уровне), как работает гибридный сон?

  2. Низкий заряд батареи

    Когда батарея ноутбука слишком разряжена, Windows автоматически переходит в спящий режим (конечно, Windows делает это до того, как батарея станет слишком разряжена, чтобы у нее осталось достаточно энергии для перехода в спящий режим). Когда это происходит, жесткий диск работает несколько десятков секунд, а затем выключается. Это похоже на поведение ноутбука, когда он просыпается случайным образом, особенно потому, что батарея может достичь точки разрядки в, казалось бы, случайное время.

    Проблема этой теории в том, что когда система включается после случайного пробуждения, она не выводит сообщение о том, что Windows завершила работу из-за низкого заряда батареи, как это происходит всякий раз, когда она переходит в спящий режим из-за низкого заряда батареи во время работы.

    Кроме того, это подразумевает, что Windows активна и выполняет обработку (в некоторой степени) даже в то время, когда она находится в спящем режиме или даже когда она уже должна быть выключена/находиться в режиме гибернации.

    Может ли кто-нибудь подтвердить, активна ли Windows и отслеживает ли уровень заряда батареи в выключенном состоянии?


Судя по событиям, похоже, что обновление системного времени происходит нормально при каждом включении системы, так что это не так, а явно происходит переход из спящего режима в режим гибернации.двенадцать часовпосле того, как он заснул. Это сбивает с толку по трем причинам:

  • Текущая настройка — переход в спящий режим послетричасов работы от батареи ишестьчасов при подключении к сети дляСбалансированныйиЭкономия энергиипланы (четыре часа и вообще не сВысокая производительностьПлан).Экономия энергииПлан действует, и сегодня утром, когда это произошло, он был отключен.
  • Гибридный сон - этонеполноценныйв каждом плане питания
  • powercfgнет никаких записей о том, что это произошло

Кто-нибудь знает, почему Windows просыпается случайным образом и проявляет вышеуказанные симптомы или почему настройки плана электропитания кажутся неправильными?


Естьамноголюдей, которые сталкиваются с тем, что ноутбуки (всех марок и моделей) случайно включаются посреди ночи. К сожалению, большинство из них получают один и тот же набор ответов, который редко решает проблему.

Вот некоторые из наиболее примечательных:

  • Этот вопроспохоже, что это та же проблема, что и в паре наблюдений, которые я сделал выше.
  • Этот вопроспохоже, та же проблема, но с Linux.
  • Этот вопросзаставил меня отключить клавиатуру/мышь, если чувствительность тачпада установлена ​​слишком низкой, но это все равно происходит.
  • Эта темауказывает на таймеры сна, но они уже отключены.

решение1

Рискуя показаться глупым, я обнаружил следующее:

У меня тоже была такая же проблема. Я никогда не выключал свой ноутбук, всегда переводил его в спящий режим, и он неожиданно просыпался посреди ночи. Я обнаружил, что это событие "S4 Doze to Hibernate" не ошибка, а функция. Перейдите в дополнительные параметры питания и измените "hibernate after" в раскрывающемся меню "sleep":

введите описание изображения здесь>

Выберите, сколько времени вы хотите ждать, прежде чем перейти из спящего режима в режим гибернации. Я установил 1440 минут (24 часа), что достаточно для ночевки.

Кстати, проверьте также, нет ли у вас пункта «разрешить таймеры пробуждения».

Я не вижу, чтобы вы говорили, что пробовали это, так что если я пропустил это, прошу прощения за то, что отнял у вас время.

решение2

SleepWakeSolution

Это решение для тех, кто хочет, чтобы их компьютеры больше никогда не выходили из спящего режима самостоятельно, а более простые решения не сработали. Ничто, кроме нажатия кнопки или открытия крышки, не выведет его из спящего режима. Не запланированные задачи, которые должны вывести вашу систему из спящего режима, такие как Windows Media Center или неизвестные причины. Единственный минус, который я обнаружил, заключается в том, что ноутбук не выйдет из спящего режима, если заряд батареи станет слишком низким. Он просто выключится, и вся несохраненная информация будет потеряна.

Откройте командную строку и выполните следующие команды:

powercfg -setacvalueindex scheme_current sub_sleep bd3b718a-0680-4d9d-8ab2-e1d2b4ac806d 0
powercfg -setdcvalueindex scheme_current sub_sleep bd3b718a-0680-4d9d-8ab2-e1d2b4ac806d 0
powercfg -setactive scheme_current

Их можно скопировать и вставить в командную строку, щелкнув заголовок/редактировать/вставить в верхней части окна командной строки.

Это изменяет значения по умолчанию для текущей схемы электропитания и предотвращает выход компьютера из спящего режима.

Применимо к следующим разделам реестра:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\BD3B718A-0680-4D9D-8AB2-E1D2B4AC806D
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Power\User\PowerSchemes\381b4222-f694-41f0-9685-ff5bb260df2e\238c9fa8-0aad-41ed-83f4-97be242c8f20\bd3b718a-0680-4d9d-8ab2-e1d2b4ac806d
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\BD3B718A-0680-4D9D-8AB2-E1D2B4AC806D
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Power\User\PowerSchemes\381b4222-f694-41f0-9685-ff5bb260df2e\238c9fa8-0aad-41ed-83f4-97be242c8f20\bd3b718a-0680-4d9d-8ab2-e1d2b4ac806d
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\BD3B718A-0680-4D9D-8AB2-E1D2B4AC806D
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\381b4222-f694-41f0-9685-ff5bb260df2e\238c9fa8-0aad-41ed-83f4-97be242c8f20\bd3b718a-0680-4d9d-8ab2-e1d2b4ac806d

Вышеуказанное было протестировано на работоспособность в Win7 и Win8. Оно изменило SKUACSettingIndexна a 0из a 1в Win8 по всем вышеперечисленным категориям во время теста, что также можно было сделать вручную через regedit в качестве альтернативы. Это позволяет использовать схему питания с возможностью полностью отключить пробуждение из спящего режима. Опять же, единственный минус, который я обнаружил, заключается в том, что ноутбук не выйдет из спящего режима, если батарея станет слишком низкой. Он просто умрет.

Важно: дополнительный шаг перехода в Панель управления / Параметры электропитания и сброса текущей схемы электропитания к значениям по умолчанию в расширенных настройках также может быть необходим после реализации изменений конфигурации. Затем пользователь может снова настроить все по своему усмотрению.

Во время моего теста командной строки на новой системе Win8, похоже, настройки питания были сброшены на значения по умолчанию, поскольку после использования решения командной строки все снова имеет настройки тайм-аута по умолчанию. Также не было никаких сообщений о пробуждениях в течение периода тестирования в Event Viewer /system.

Я также проверил Event Viewer на двух других системах, и на них не было никаких пробуждений с тех пор, как две недели назад я реализовал на них решение с помощью командной строки.

Чтобы вернуть исходные значения по умолчанию, введите те же строки командной строки, но вместо последнего символа введите 1 вместо 0. Затем измените текущую схему электропитания на значения по умолчанию в разделе «Параметры электропитания».

HKEY_USERS\S-1-5-19\Control Panel\PowerCfg - This lists the current Power Policy.

решение3

В Win7 Pro вместо того, чтобы напрямую возиться с настройками реестра, вы можете использовать редактор групповой политики, gpedit.msc > Computer Configuration > Administrative Templates > System > Power Management > Sleep Settingsнастроить его по своему вкусу и перезагрузиться.

Связанный контент