Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


apple-mac-os:yosemite:os-x-sleep-mode-via-command-line

Настройка режима сна с помощью командной строки в OS X

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

sudo systemsetup -getcomputersleep

Например, чтобы настроить переход компьютера в режим сна через 1 час бездействия:

sudo systemsetup -setcomputersleep 60

Для того чтобы выключить переход в режим сна:

sudo systemsetup -setcomputersleep 0

или

sudo systemsetup -setcomputersleep Never

Как и в любой другой современной ОС, OS X имеет несколько режимов сна. Простой сон - оперативная память компьютера продолжает потреблять питание. Глубокий сон (гибернация) - содержимое оперативной памяти копируется на жёсткий диск.

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

sudo pmset -g

Нас интересует параметр hibernatemode. Он может принимать несколько значений:

  • 0 - гибернация выключена;
  • 3 - гибернация включена, содержимое оперативной памяти копируется на диск, но питание не отключается;
  • 25 - гибернация включена, содержимое оперативной памяти копируется на жёсткий диск, затем отключается питание.

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

Для экономии электроэнергии можно настроить настольный Mac следующим образом: Включаем режим гибернации с автоматическим отключением питания через 15 минут.

sudo pmset hibernatemode 3 standbydelay 900

Или включаем более экономный режим, который будет отключать питание сразу после копирования оперативной памяти

sudo pmset hibernatemode 25

Так же, можно вручную отправить Mac в сон

pmset sleepnow

В процессе использования OS X некоторые пользователи могут заметить, что система перестала уходить в режим сна автоматически, а все настройки на первый взгляд будут верными. Для того чтобы разобраться с ситуацией, посмотрим сводку энергопотребления, выполним в терминале:

pmset -g assertions

Нас интересует параметр «PreventUserIdleSystemSleep», если он имеет значение «1», то значит в системе запущено какое-то приложение или служба не позволяющая OS X засыпать. Если взглянуть на вывод внимательнее, то в «Listed by owning process» можно будет увидеть службу, которая мешает автоматическому переходу в режим сна. Вывод с моего компьютера:

Assertion status system-wide:
 BackgroundTask 0
 ApplePushServiceTask 0
 UserIsActive 1
 PreventUserIdleDisplaySleep 0
 PreventSystemSleep 0
 ExternalMedia 1
PreventUserIdleSystemSleep 1
 NetworkClientActive 0
Listed by owning process:
 pid 30(powerd): [..] 121:05:39 ExternalMedia named: "com.apple.powermanagement.externalmediamounted" 
 pid 31(com.apple.serve): [..] 00:14:04 PreventUserIdleSystemSleep named: "com.apple.collabd" 
 pid 75(hidd): [..] 00:01:52 UserIsActive named: "com.apple.iohideventsystem.queue.tickle" 
	Timeout will fire in 21 secs Action=TimeoutActionRelease
Kernel Assertions: 0x10c=USB,BT-HID,MAGICWAKE
 id=503 level=255 0x4=USB mod=09.03.15, 18:44 description=EHC1 owner=AppleUSBEHCI
 id=506 level=255 0x100=MAGICWAKE mod=09.03.15, 19:36 description=en0 owner=en0
 id=508 level=255 0x8=BT-HID mod=01.01.70, 3:00 description=com.apple.driver.IOBluetoothHIDDriver owner=BNBMouseDevice
 id=522 level=255 0x8=BT-HID mod=01.01.70, 3:00 description=com.apple.driver.IOBluetoothHIDDriver owner=AppleBluetoothHIDKeyboard

Как видно, мешает «com.apple.collabd», этот компонент входит в набор утилит OS X Server, и запускается даже если у Вас нет настроенных служб. Насколько мне удалось понять, эта служба необходима для wiki сервисов которые можно поднять с помощью OS X Server.

Для того чтобы отключить службу, необходимо выполнить:

sudo serverctl disable service=com.apple.collabd

Затем можно снова выполнить просмотр сводки, если значение «PreventUserIdleSystemSleep», изменилось на «0», то при отсутствии других проблем, автоматический переход в режим сна должен заработать.


Проверено на следующих конфигурациях:

Версия ОС
Apple OS X Yosemite (10.10)

Автор первичной редакции:
Виталий Якоб
Время публикации: 09.03.2016 14:45

Обсуждение

vladvlad, 01.11.2016 12:10
Спасибо большое за статью
МаксимМаксим, 02.12.2016 14:29, 02.12.2016 19:41
Что делать если активен только UserIsActive 1, а iMac не переходит в режим сна (куллеры крутятся)
Виталий ЯкобВиталий Якоб, 02.12.2016 19:41, 02.12.2016 19:46
Так же смотрите в сторону: pmset -g assertions, смотоите на позиции, которые имитируют пользовательскую активность: UserIsActive
Например, запущенный VLC может мешать компьютеру уснуть, в особенности, если что-то поставлено на паузу:
pid 16211(VLC): [0x000161c6000987c7] 00:00:15 UserIsActive named: ""
Может быть у Вас запущен торрент-клиент который качает/раздаёт или какой-нибудь "кофеин".

Попробуйте перезагрузить iMac, посомтреть как будет вести себя машина. Можно попрбовать любимое решение техподдержки: очистить NVRAM. (Command+Option+P+R)


Для себя режим сна я решил просто: Настройки -> экономия энергии -> Расписание. Указал, что каждый день в 01:00 компьютер переходит в режим сна. За минуту до перехода в режим сна система выплюнет об этом сообщение, если не нажать "отмена", система уйдёт в сон, не смотря ни на какие задачи.
ПавелПавел, 28.12.2016 13:25
А что делать, если настроено, чтобы в сон не уходил никогда, а он уходит через 15 минут, при этом отрубаются сетевые диски, и потом очень долго ищет локальный сервер, и диски приходится порой подключать вручную?
Медведев Валерий ВикторовичМедведев Валерий Викторович, 18.12.2017 15:03
Здравствуйте, Виталий. Статья действительно полезная. А по сему надеюсь на Вашу помощь (подсказку). Ситуация кратко: Хакинтош на PC Компьютер MB-B75M-PLUS / ЦП-DualCore Intel Core i3 / Video: NVIDIA GeForce GTX 650. Загрузчик Clover. DSDT и config.plist редактировал в меру своего разумения. Стояла OS 10.9.5 Maveriks. Все работало идеально. Сейчас установил 10.12.6 Sierra. Файлы DSDT и config.plist оставил прежние. Заведено вроде бы все: SpeedStep заведен, USB + USB3 заведены и работают все без нареканий, видеокарта заведена, звук заведен, сон на кнопку то же заведен. Засыпает на пару секунд и просыпается. В терминале выполнил "pmset -g assertions". Результат: везде нули, только "UserIsActive" с единицей. В отчете активен только один процесс "pid 104(hidd): [0x0000172b000986dd] 01:07:50 UserIsActive named: "com.apple.iohideventsystem.queue.tickle.4294968673.3" Что сие означает и что с этим делать выше моего разумения. Буду очень благодарен за помощь.
Виталий ЯкобВиталий Якоб, 11.01.2018 15:57
Здравствуйте.
Совсем не знаком с хакинтошем, потому не знаю что сказать.
Хакинтош как ZverCD, никогда не знаешь откуда ждать удара. :)

Но попробуйте посмотреть на подобные проблемы:
1. https://origin-discussions-us.apple.com/thread/7922363
2. https://www.reddit.com/r/applehelp/comments/43ks7u/macbook_wont_go_to_sleep_hidd_preventing_sleep/
3. http://www.insanelymac.com/forum/topic/289871-bluetooth-stuck-in-on-state-and-not-working/page-5

На сколько я понял, это проблема связана с bluetooth модулем, который по всей видимости у Вас отсутствует, но система вероятно считает иначе.

Так же, можно запланировать сон в настройках электропитания, чтобы компьютер "не смотря ни на что" уходил в сон в заданное время. У меня на данный момент так и сделано.
РоманРоман, 16.04.2018 22:18
Виталий, добрый день.
Помогите, пожалуйста разобраться.
Проблема c бессоницей возникла после апгрейда MacPro A1502 до High Sierra.
В отчёте:
pid 108(hidd): [0x00000847000982a5] 00:00:00 UserIsActive named: "com.apple.iohideventsystem.queue.tickle.4294968019.3"
Timeout will fire in 120 secs Action=TimeoutActionRelease
pid 68(powerd): [0x000008d1000882c2] 00:18:07 ExternalMedia named: "com.apple.powermanagement.externalmediamounted"

Что в ноыой системе мешает Маку спать?
Спасибо большое!!!
ЕвгенийЕвгений, 17.02.2020 13:44
pid 108(hidd): [0x00000847000982a5] 00:00:00 UserIsActive named: "com.apple.iohideventsystem.queue.tickle.4294968019.3"

Если компьютер включен, то этот параметр всегда будет 1, как понимаю это означает вашу работу в нем, и 120 говорит что уйдет в сон после 2 минут простоя.

А вот это говорит о подключенном внешнем носителе, может в нем проблема:

pid 68(powerd): [0x000008d1000882c2] 00:18:07 ExternalMedia named: "com.apple.powermanagement.externalmediamounted"
ВадимВадим, 08.03.2020 00:32
Здравствуйте
Намучился я с этим разрядом и антисном мака((( Может и мне что подксажете? Что отключить и куда бежать?



2020-03-07 23:23:53 +0200
Assertion status system-wide:
BackgroundTask 0
ApplePushServiceTask 0
UserIsActive 1
PreventUserIdleDisplaySleep 0
PreventSystemSleep 0
ExternalMedia 0
PreventUserIdleSystemSleep 1
NetworkClientActive 0
Listed by owning process:
pid 6188(sharingd): [0x0000b01300019852] 00:14:59 PreventUserIdleSystemSleep named: "Handoff"
pid 98(hidd): [0x0000afcf0009980c] 00:00:00 UserIsActive named: "com.apple.iohideventsystem.queue.tickle.4295153599.3"
Timeout will fire in 600 secs Action=TimeoutActionRelease
Kernel Assertions: 0x100=MAGICWAKE
id=504 level=255 0x100=MAGICWAKE mod=07.03.2020, 22:09 description=en0 owner=en0
Idle sleep preventers: IODisplayWrangler
владимирвладимир, 13.06.2020 08:48
у меня такая проблема как ее решить - как отключить службу которая мешает мак засыпать?



2020-06-13 08:46:15 +0300

Assertion status system-wide:

BackgroundTask 0

ApplePushServiceTask 0

UserIsActive 1

PreventUserIdleDisplaySleep 0

PreventSystemSleep 0

ExternalMedia 0

PreventUserIdleSystemSleep 1

NetworkClientActive 0

Listed by owning process:

pid 370(sharingd): [0x000000e900018220] 00:09:38 PreventUserIdleSystemSleep named: "Handoff"

pid 145(hidd): [0x0000001800098082] 00:00:00 UserIsActive named: "com.apple.iohideventsystem.queue.tickle serviceID:1000004ab name:AppleHIDKeyboardEve product:Apple Internal Keyb eventType:3"

Timeout will fire in 600 secs Action=TimeoutActionRelease

Kernel Assertions: 0x100=MAGICWAKE

id=502 level=255 0x100=MAGICWAKE mod=01.01.1970, 03:00 description=en0 owner=en0

id=503 level=255 0x100=MAGICWAKE mod=01.01.1970, 03:00 description=llw0 owner=IOSkywalkNetworkBSDClient

Idle sleep preventers: IODisplayWrangler

mac@MacBook-Air-mac ~ %
владимирвладимир, 13.06.2020 08:48
у меня такая проблема как ее решить - как отключить службу которая мешает мак засыпать?







2020-06-13 08:46:15 +0300



Assertion status system-wide:



BackgroundTask 0



ApplePushServiceTask 0



UserIsActive 1



PreventUserIdleDisplaySleep 0



PreventSystemSleep 0



ExternalMedia 0



PreventUserIdleSystemSleep 1



NetworkClientActive 0



Listed by owning process:



pid 370(sharingd): [0x000000e900018220] 00:09:38 PreventUserIdleSystemSleep named: "Handoff"



pid 145(hidd): [0x0000001800098082] 00:00:00 UserIsActive named: "com.apple.iohideventsystem.queue.tickle serviceID:1000004ab name:AppleHIDKeyboardEve product:Apple Internal Keyb eventType:3"



Timeout will fire in 600 secs Action=TimeoutActionRelease



Kernel Assertions: 0x100=MAGICWAKE



id=502 level=255 0x100=MAGICWAKE mod=01.01.1970, 03:00 description=en0 owner=en0



id=503 level=255 0x100=MAGICWAKE mod=01.01.1970, 03:00 description=llw0 owner=IOSkywalkNetworkBSDClient



Idle sleep preventers: IODisplayWrangler



mac@MacBook-Air-mac ~ %
igorvyunigorvyun, 04.07.2021 01:47
А у меня что мешает?



2021-07-04 01:41:52 +0300

Assertion status system-wide:

BackgroundTask 0

ApplePushServiceTask 0

UserIsActive 1

PreventUserIdleDisplaySleep 0

PreventSystemSleep 0

ExternalMedia 1

PreventUserIdleSystemSleep 1

NetworkClientActive 0

Listed by owning process:

pid 72(powerd): [0x0000000e00088000] 02:36:38 ExternalMedia named: "com.apple.powermanagement.externalmediamounted"

pid 427(sharingd): [0x0000172c000185da] 00:12:16 PreventUserIdleSystemSleep named: "Handoff"

pid 128(WindowServer): [0x000014110009851d] 00:00:00 UserIsActive named: "com.apple.iohideventsystem.queue.tickle serviceID:1000007c8 name:AppleHIDKeyboardEve product:Apple Internal Keyb eventType:3"

Timeout will fire in 60 secs Action=TimeoutActionRelease

No kernel assertions.

Idle sleep preventers: IODisplayWrangler
Виталий ЯкобВиталий Якоб, 23.07.2021 15:21, 23.07.2021 15:38
Не знаю как было раньше, но сейчас "Мониторинг системы" (ЦП) можно включить колонку "Предотвращение сна", в большинстве случаев понятно, что это такое. Так же процесс можно завершить.

Из предвиденного вами вывода:
pid 427(sharingd): [0x0000172c000185da] 00:12:16 PreventUserIdleSystemSleep named: "Handoff"

Если на момент вывода не использовались функции "непрерывность", можно попробовать
1. Выключить Handoff, затем включить его снова;
2. сбросить SMC.

Так же посомтрите что советует Apple: https://support.apple.com/ru-ru/guide/mac-help/mchlp2995/mac
Сергей СавченкоСергей Савченко, 31.12.2021 17:46
Подскажите пожалуйста, на макбуке про 2014 батарея требует замены, и пока стал его использовать от сети. Но требуемых режимов требуется два:



-постоянная работа от сети, нужно засыпание с быстрым просыпанием (без сгружения RAM на SSD)



-нужно перенести в другое место, соотвественно питание на время пропадет, а нужно, чтобы все программы восстановились после старта, видимо нужно hibernatemode 25



Можно ли настроить так, чтобы можно было выбирать, так или так?
АлексАлекс, 10.02.2023 13:59
Спасибо большое за статью!
у меня обнаруживает некую программу под названием "Handoff"
но ваша строчка не работает, выдает вот что:

sudo: serverctl: command not found

Подскажите, что можно дальше сделать?
Ваш комментарий:
 
apple-mac-os/yosemite/os-x-sleep-mode-via-command-line.txt · Последнее изменение: 02.05.2018 09:58 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki