Посібники/Чому Mac не засинає

Чому Mac не засинає? Як знайти, що не дає йому заснути

Atta 🐬

Засновник Vitals

Опубліковано

Коротка відповідь

Відкрийте Термінал і виконайте pmset -g assertions. У розділі «Listed by owning process» кожен рядок називає програму, що не дає Mac заснути, як довго і причину, яку вона вказала. Монітор активності позначає ті самі програми словом «Так» у стовпці «Заборона режиму сну» на вкладці «Енергія». Звичні причини — відео чи дзвінок, лишений відкритим у вкладці браузера, завантаження або резервне копіювання, досі запущена команда caffeinate і параметри, що не дають Mac заснути під час живлення від мережі. На MacBook системний монітор Vitals показує ці програми без Термінала — на вкладці «Акумулятор» і на смузі меню, з причиною і тривалістю.

Як дізнатися, що не дає вашому Mac заснути

  1. 01 Відкрийте Термінал і виконайте pmset -g | grep sleep. Якщо щось не дає Mac заснути, рядок sleep закінчується приміткою на кшталт (sleep prevented by Google Chrome, powerd).
  2. 02 Виконайте pmset -g assertions, щоб побачити подробиці. У розділі «Listed by owning process» кожен рядок показує програму та її PID, як довго вона не дає Mac заснути, тип блокування, а після слова named — причину, яку вона вказала, наприклад «Video Wake Lock».
  3. 03 Не зважайте на «Prevent sleep while display is on» від powerd і рядки UserIsActive. Вони лише означають, що ви користуєтеся Mac, і зникають, коли ви зупиняєтеся.
  4. 04 Відкрийте Монітор активності, натисніть «Енергія» і подивіться на стовпець «Заборона режиму сну». «Так» позначає ті самі програми, і звідти ж можна завершити будь-яку з них.
  5. 05 Завершіть програму або закрийте те, що вона робить: вкладку з відео, дзвінок, завантаження. Виконайте pmset -g assertions ще раз, щоб переконатися, що рядок зник.

Mac, що засинає, але постійно прокидається, — інша проблема, зі своїм журналом. Див. «Коли Mac прокидається сам» нижче.

Mac засинає, коли ніщо не просить його цього не робити. Програми просять про це, створюючи блокування сну (power assertion): запит, який macOS записує з назвою програми та її причиною. Відеоплеєр, дзвінок, завантаження або резервне копіювання мають для цього вагому причину. Проблеми починаються, коли запит переживає причину: вкладка, що відтворює відео без звуку, дзвінок, що закінчився в іншій вкладці, caffeinate у забутому вікні термінала. Таблиця нижче зіставляє те, що ви бачите, з імовірною причиною і місцем, де перевірити.

Чому Mac не засинає

Що ви помічаєтеІмовірна причинаДе перевірити
Екран ніколи не вимикається Програма тримає дисплей увімкненим: відео, дзвінок, презентація pmset -g assertions: PreventUserIdleDisplaySleep
Екран вимикається, але Mac ніколи не засинає Завантаження, резервне копіювання, синхронізація або збірка не дають системі заснути pmset -g assertions: PreventUserIdleSystemSleep
Він ніколи не засинає, коли підключений до мережі Параметр, що не дає йому заснути під час живлення від мережі Системні параметри → Акумулятор → Параметри або «Енергія» на настільному Mac
Він засинає, а потім сам прокидається вночі Планове обслуговування, мережа або підʼєднаний пристрій pmset -g log і pmset -g sched
Він не засинає після того, як ви виконали команду в Терміналі caffeinate досі виконується Монітор активності: пошук caffeinate
Він не засинає, поки інші пристрої користуються його підключенням Інтернет-шлюз Системні параметри → Загальні → Спільний доступ

Що означають типи блокувань

Кожен рядок у pmset -g assertions називає тип. Три з них не дають Mac заснути. Решта — службові записи, і бачити їх — нормально.

  • PreventUserIdleDisplaySleep або NoDisplaySleepAssertion: тримає увімкненим екран, а разом із ним і Mac. Його використовують відеоплеєри, відеодзвінки і презентації.
  • PreventUserIdleSystemSleep або NoIdleSleepAssertion: не дає Mac заснути, але екран може вимкнутися. Його використовують завантаження, резервне копіювання, відтворення музики і збірки.
  • PreventSystemSleep: не дає Mac заснути навіть із закритою кришкою під час живлення від мережі. Трапляється рідко; зазвичай це системна служба.
  • UserIsActive, BackgroundTask і ApplePushServiceTask: службові записи, які самі по собі не заважають сну.

Коли Mac прокидається сам

Mac, що заснув, усе одно може ненадовго прокидатися сам, з вимкненим екраном, щоб перевірити пошту, синхронізуватися, зробити резервну копію або виконати обслуговування. macOS називає це темним пробудженням (dark wake). Кілька за ніч — це нормально. Десятки або повні пробудження з увімкненим екраном вказують на пристрій чи параметр.

  1. Виконайте pmset -g log | grep -E "Wake from|DarkWake from" | tail -20, щоб побачити останні 20 пробуджень. Текст після «due to» називає причину: lid означає, що ви відкрили кришку, rtc/Maintenance — планове пробудження для обслуговування, а назви пристроїв USB, Bluetooth чи мережевих пристроїв вказують на відповідний пристрій.
  2. Виконайте pmset -g sched, щоб побачити пробудження, які macOS запланувала на потім, і яка частина системи попросила про кожне.
  3. Якщо Mac будить якийсь пристрій, відʼєднайте його на ніч і подивіться, чи припиняться пробудження.
  4. Якщо причина в мережевих пробудженнях, встановіть для «Прокидатися для доступу по мережі» значення «Тільки від електромережі» або «Ніколи» в Системних параметрах → Акумулятор → Параметри на MacBook або в Системних параметрах → Енергія на настільному Mac.

Параметри, які навмисно не дають Mac заснути

Деякі параметри не дають Mac заснути за задумом. Перевірте їх, перш ніж шукати програму, яка поводиться неналежно.

  • На MacBook — «Запобігати автоматичному засинанню компʼютера під час живлення від мережі, коли дисплей вимкнено» в Системних параметрах → Акумулятор → Параметри.
  • На настільному Mac — «Запобігати автоматичному засинанню компʼютера, коли дисплей вимкнено» в Системних параметрах → Енергія.
  • «Інтернет-шлюз» у Системних параметрах → Загальні → Спільний доступ, який не дає Mac заснути, поки інші пристрої користуються його підключенням.
  • Вимкнення дисплея, встановлене на «Ніколи» в Системних параметрах → Замкнений екран, що тримає екран увімкненим, а разом із ним і Mac.

caffeinate і програми, які на прохання не дають Mac заснути

caffeinate — це команда macOS, яка не дає Mac заснути, поки вона виконується. Її використовують скрипти та інструменти розробника, а також програми на смузі меню, що не дають Mac заснути. Вона показується в pmset -g assertions під власною назвою, а в Моніторі активності — як caffeinate.

Якщо ви запустили її самі, натисніть Control-C у її вікні Термінала. Якщо ні, зʼясуйте, яка програма її запустила: у Моніторі активності виберіть Перегляд → Усі процеси, ієрархічно і знайдіть caffeinate під батьківським процесом. Завершення батьківського процесу зупинить її.

Що додає Vitals

На MacBook Vitals простими словами називає програми, що не дають йому заснути, без Термінала.

  • «Не дають цьому Mac заснути» на вкладці «Акумулятор»: кожна програма з причиною, яку вона вказала, наприклад «Відтворюється відео» чи «Завантажується», як довго вона не дає Mac заснути і чи тримає вона увімкненим екран
  • Той самий список у розділі «Акумулятор» спадної панелі на смузі меню, поки якась програма не дає Mac заснути, тож можна перевірити, перш ніж закрити кришку
  • Браузер займає один рядок, хоч скільки вкладок відтворюють медіа, а caffeinate, лишений у терміналі, показується як «Запит не засинати»
  • «Може перейти в режим сну», коли ніщо його не утримує

Варто знати

  • Список є лише на MacBook. На Mac mini, iMac, Mac Studio або Mac Pro використовуйте pmset -g assertions.
  • Він не включає власні процеси macOS, як-от powerd, WindowServer і sharingd під час Handoff, які утримують Mac від сну лише на мить. pmset -g assertions показує все.
  • Vitals не показує історію пробуджень. Це робить pmset -g log.
Отримати Vitals за $15 $9 за рік оновлень або $15 назавжди під час запуску, $39 після. Одна оплата, повернення коштів протягом 14 днів.

Що питають люди

Що не дає моєму Mac заснути?

Виконайте pmset -g assertions у Терміналі. Кожен рядок у розділі «Listed by owning process» називає програму, як довго вона не дає Mac заснути і чому. У Моніторі активності стовпець «Заборона режиму сну» на вкладці «Енергія» показує «Так» для тих самих програм.

Чому Mac не засинає, коли я закриваю кришку?

Під час роботи від акумулятора закрита кришка присипляє MacBook, хоч би що просили програми. Із закритою кришкою, живленням від мережі та підʼєднаним зовнішнім дисплеєм Mac продовжує працювати за задумом; Apple називає це режимом закритого дисплея. Якщо він не засинає без цих умов, перевірте pmset -g assertions на PreventSystemSleep.

Чому мій Mac сам прокидається вночі?

Зазвичай для обслуговування, через мережеву активність або підʼєднаний пристрій. Виконайте pmset -g log | grep -E "Wake from|DarkWake from" | tail -20 і прочитайте текст після «due to». Якщо причина в мережі, встановіть для «Прокидатися для доступу по мережі» значення «Тільки від електромережі».

Як заборонити програмі тримати Mac без сну?

Закрийте те, що вона робить, наприклад відео, дзвінок чи завантаження, або завершіть програму. Для caffeinate натисніть Control-C у її вікні Термінала або завершіть програму, яка її запустила.

Чи погано, якщо Mac ніколи не засинає?

Це витрачає енергію, а MacBook у сумці від цього нагрівається і розряджається. Настільному Mac, який ви використовуєте як сервер, це не шкодить, якщо ви саме цього й хочете.

Чи є програма, яка показує, що не дає Mac заснути?

На MacBook Vitals показує програми, що не дають йому заснути, на вкладці «Акумулятор» і в спадній панелі на смузі меню, з причиною, яку вказує кожна, тим, як довго вона не дає Mac заснути, і чи тримає вона увімкненим екран.

У глосарії

Інші посібники