Глосарій/Процесор, графічний процесор і енергія
Заборона режиму сну
Також: що не дає моєму Mac заснути
Коротка відповідь
«Заборона режиму сну» — це стовпець на вкладці «Енергія» в Моніторі активності, який показує, чи програма зараз не дає Mac перейти в режим сну. Програми роблять це навмисно, коли відтворюють медіа, щось завантажують або виконують довгі завдання.
Програми не дають Mac заснути за допомогою power assertion — запиту до macOS відкласти сон. Відеоплеєр робить це, поки йде фільм, а резервне копіювання чи завантаження — доки не завершиться. Більшість програм знімають запит, коли закінчують роботу.
Якщо ваш Mac сам не засинає або дисплей не вимикається, спершу перегляньте стовпець «Заборона режиму сну».
Як дізнатися, що не дає вашому Mac заснути
Відкрийте Монітор активності, перейдіть на вкладку «Енергія» і клацніть заголовок стовпця «Заборона режиму сну», щоб упорядкувати за ним. Програми зі значенням «Так» не дають Mac заснути.
Щоб дізнатися більше, виконайте pmset -g assertions у Терміналі. Ця команда показує кожен активний запит і процес, якому він належить, зокрема фонові процеси.
Що з цим робити
Якщо в програми є поважна причина, наприклад незавершене завантаження, дайте їй закінчити. Якщо ні, звичайне завершення програми зазвичай знімає запит. Часта причина — вкладки браузера, що відтворюють медіа, навіть без звуку.
Як читати pmset -g assertions
Щоб отримати відповідь одним рядком, виконайте pmset -g і подивіться на рядок sleep. Якщо щось не дає Mac заснути, рядок закінчується словами «sleep prevented by» і списком назв процесів.
pmset -g assertions показує подробиці. Верхня половина — це зведення за типами блокувань сну (assertions), а в розділі «Listed by owning process» видно кожен процес, як довго він утримує блокування, і назву, яку йому дала програма. Найчастіші типи:
- PreventUserIdleSystemSleep: Mac не засинає сам, але дисплей може вимикатися.
- PreventUserIdleDisplaySleep: дисплей лишається ввімкненим. Це використовують відеопрогравачі та програми для презентацій.
- PreventSystemSleep: Mac узагалі не засинає. Варіант
caffeinate -sпрацює лише від мережі живлення. - NoIdleSleepAssertion: інша назва, яку деякі програми використовують, коли не дають Mac заснути через бездіяльність.
- powerd утримує блокування з назвою «Prevent sleep while display is on»: це нормально, поки ви користуєтеся Mac.
Коли coreaudiod чи інший системний процес не дає вашому Mac заснути
Іноді власником у pmset -g assertions є системний процес, як-от coreaudiod, що утримує блокування для іншої програми. У такому разі запис містить рядок «Created for PID» із числом. Це число й указує на програму, яку ви шукаєте.
- Виконайте
pmset -g assertionsі знайдіть рядок «Created for PID» під системним процесом. - Виконайте
ps -p <PID> -o comm=, замінивши <PID> на це число, щоб вивести назву програми. - Зупиніть те, що ця програма робить зі звуком, як-от призупинене відео, відкритий дзвінок чи запис, або завершіть програму.
- Знову виконайте
pmset -g assertions, щоб переконатися, що запису більше немає.
Поширені причини, чому Mac не засинає
- Вкладка браузера чи програма з відкритим аудіо або відео, навіть якщо його призупинено чи вимкнено звук.
- Програма для відеодзвінків, у якій досі відкриті мікрофон або камера.
- Незавершені завантаження, вивантаження, синхронізація з хмарою та резервні копії.
- Програми, що читають із диска. Як приклад Apple наводить Музику, яка відтворює пісні.
- Люди, які користуються службами, що їх надає ваш Mac, як-от підʼєднаним принтером чи спільними файлами.
- Активний сеанс термінала, наприклад віддалений вхід. Параметр ttyskeepawake у
pmsetне дає Mac заснути через бездіяльність, поки такий сеанс використовується. Щоб перевірити його, виконайтеpmset -g | grep ttyskeepawake; 1 означає «увімкнено». - Запущена й забута команда
caffeinateабо утиліта, що не дає Mac заснути.
Як дізнатися, що розбудило ваш Mac
Якщо ваш Mac засинає, але знову прокидається, журнал живлення записує чому. Виконайте pmset -g log | grep -e " Sleep " -e " Wake " -e " DarkWake " | tail -20, щоб побачити останні засинання й пробудження. Текст після «due to» називає причину, як-от кришку, клавіатуру чи трекпед або заплановане завдання.
Рядки DarkWake — це короткі пробудження з вимкненим дисплеєм, які macOS використовує для фонових завдань. Кілька таких за ніч — нормально.
Що питають люди
Що означає «Заборона режиму сну» в Моніторі активності?
Цей стовпець показує, чи програма зараз не дає вашому Mac заснути. «Так» означає, що програма попросила macOS не переходити в режим сну.
Як побачити, що не дає моєму Mac заснути?
Перегляньте стовпець «Заборона режиму сну» на вкладці «Енергія» в Моніторі активності або виконайте pmset -g assertions у Терміналі, щоб побачити всі процеси, які не дають Mac заснути.
Чи можна навмисно не давати Mac заснути?
Так. Вбудована команда caffeinate не дає Mac заснути, поки вона працює. Щоб зупинити її, натисніть Control-C.
Чому coreaudiod показано як процес, що не дає Mac заснути?
coreaudiod обробляє звук для всіх програм, тож утримує блокування сну, поки якась програма відтворює чи записує звук. Рядок «Created for PID» у pmset -g assertions показує, яка саме.
Чи погано, що powerd не дає Mac заснути?
Ні. powerd — це процес керування живленням у macOS, і його блокування з назвою «Prevent sleep while display is on» — нормальне, поки ви користуєтеся Mac.
Чи може сеанс Термінала не давати Mac заснути?
Може. Коли параметр ttyskeepawake увімкнено, macOS не переходить у режим сну через бездіяльність, поки активний сеанс термінала, як-от віддалений вхід. Сеанс вважається неактивним, коли він простоює довше за таймер сну. Команда, запущена через caffeinate, теж не дає Mac заснути, доки не завершиться.
Повʼязане
Покроково: Чому Mac не засинає.
Шукаєте щось краще за Монітор активності? Дивіться найкращі альтернативи Монітору активності для Mac або перегляньте усі терміни глосарію.