Сон Mac

Налаживание режима сна — главная головная боль для многих владельцев хакинтоша, однако маководы от подобных проблем тоже не застрахованы. На настоящем Маке режим сна тоже может ломаться: чаще всего, компьютер либо отказывается переходить в режим сна, либо сразу возвращаясь к нормальной работе.

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

И на Маке, и на хакинтоше вы можете запустить в окне терминала полезнейшую команду:

[php]pmset -g assertions[/php]

Она выведет на экран полный отчёт о состоянии ситуации со сном компьютера. Пользователю будут интересные первые две его части:

[php]Assertion status system-wide:
PreventUserIdleDisplaySleep 0
PreventSystemSleep 0
PreventUserIdleSystemSleep 1
ExternalMedia 0
UserIsActive 0
ApplePushServiceTask 0
BackgroundTask 0

Listed by owning process:
pid 636(iTunes): [0x00000001000005b9] 00:00:56 PreventUserIdleSystemSleep named: "Nameless (via IOPMAssertionCreate)"
pid 158(coreaudiod): [0x00000001000005b8] 00:00:56 NoIdleSleepAssertion named: "com.apple.audio.’AppleHDAEngineOutput:1B,2,1,3:0′.noidlesleep"[/php]

Идеальная ситуация — если во всех строчках в списке «Assertion status system-wide» у вас будут проставлены нули. В таком случае это означает, что режиму сна ничего не мешает. Если же режим сна не работает, то в одной или нескольких строках вы увидите единицы:

  • PreventUserIdleDisplaySleep — означает, что программа или процесс не даёт автоматически отключиться дисплею
  • PreventSystemSleep — означает, что компьютер не войдёт в режим сна даже в том случае, если пользователь выберет соответствующий пункт в меню системы
  • PreventUserIdleSystemSleep — означает, что Мак может заснуть вручную, но не станет засыпать автоматически, по истечении некоторого времени
  • ExternalMedia — сон не сработает из-за подключённой периферии
  • UserIsActive — сон невозможен из-за текущей активности пользователя
  • ApplePushServiceTask — сон блокирует служба уведомлений Apple
  • BackgroundTask — сну мешают прочие системные процессы

А виновника проблем вы можете увидеть в списке ниже («Listed by owning process»). Например, в нашем случае есть две связанных причины — процесс iTunes и драйвер com.apple.audio. Проще говоря, сейчас в iTunes играет музыка, поэтому компьютер не заснёт самостоятельно.

В случае с реальными проблемами сна список может быть намного шире. В любом случае, он намекнёт вам на то, какие процессы и драйверы могут препятствовать переходу в режим сна.

Поделитесь страницей через социальные сети

  • Марк

    А у меня сейчас (после обновления на ML) проблема ровно наоборот — ноутбук засыпает во время работы торрент клиента.
    Вот это беда, так беда!

  • AlBad

    Спасибо, следующий вопрос: у меня в “Assertion status system-wide” все нули, кроме «EnableIdleSleep», куда копать?
    Сон работает некорректно: все гаснет, но крутятся кулеры…
    Железо: GA-EP45-UD3LR F11 ‘ Q9500 3.4 ‘ GF8800GTS 512 ‘ 800 MHz DDR2 SDRAM — 8GB ‘ Mac OS X 10.7.4 (Kakewalk 4.1.1) 

    • http://appstudio.org AppStudio

      а в нижнем блоке отчета что есть?

      • AlBad

        Kernel Assertions: 0x0004
        * Kernel Assertion ID = 500
        Created At =
        Modified At =
        Owner ID = 0xffffff8011bba000
        Level = 255
        Assertions Set = None (4)
        * Kernel Assertion ID = 501
        Created At =
        Modified At =
        Owner ID = 0xffffff8011ad4000
        Level = 255
        Assertions Set = None (4)
        * Kernel Assertion ID = 502
        Created At =
        Modified At =
        Owner ID = 0xffffff80d1416000
        Level = 0
        Assertions Set = None (4)
        * Kernel Assertion ID = 503
        Created At =
        Modified At =
        Owner ID = 0xffffff80d1419000
        Level = 0
        Assertions Set = None (4)
        * Kernel Assertion ID = 504
        Created At =
        Modified At =
        Owner ID = 0xffffff80d1413000
        Level = 0
        Assertions Set = None (4)
        * Kernel Assertion ID = 505
        Created At =
        Modified At =
        Owner ID = 0xffffff80d140d000
        Level = 255
        Assertions Set = None (4)
        * Kernel Assertion ID = 506
        Created At =
        Modified At =
        Owner ID = 0xffffff80d1410000
        Level = 0
        Assertions Set = None (4)
        * Kernel Assertion ID = 507
        Created At =
        Modified At =
        Owner ID = 0xffffff80d1404000
        Level = 0
        Assertions Set = None (4)

  • gringo24

    Assertion status system-wide:
    PreventUserIdleDisplaySleep 0
    CPUBoundAssertion 0
    DisableInflow 0
    ChargeInhibit 0
    PreventSystemSleep 0
    PreventUserIdleSystemSleep 0
    ExternalMedia 0
    DisableLowPowerBatteryWarnings 0
    EnableIdleSleep 1
    NoRealPowerSources_debug 0
    UserIsActive 0
    ApplePushServiceTask 0
    Kernel Assertions: None

    Да, что дальше? (MBP 13 early 2011) 

  • Илья

    Спасибо за статью. Инфа очень полезная.

  • Павел

    Здравствуйте, у меня imac 27 2009 года, и где то через пол года после покупки он перестал уходить автоматически в сон по настройкам экономии энергии, но при этом уходит в сон по расписание… Раньше это не было большой проблемой, но с icloud и функцией доступ к моему мак он теперь частенько самопроизвольно включается и может так проработать целый день. Как мне все таки добиться чтоб он сам засыпал через пол часа? 

    P.S. В терминале везде нули показывает