Mac이 잠자기에 들지 않을 때 원인을 찾는 방법
Mac이 잠자기에 들어가지 않을 때는 대개 명령 하나로 원인을 알 수 있습니다. 터미널에서 pmset -g assertions를 실행하고 PreventUserIdleSystemSleep이나 PreventSystemSleep이 있는 줄을 찾으세요. 각 줄이 Mac을 깨어 있게 붙잡고 있는 프로세스의 이름을 알려 줍니다. 대부분은 미디어를 재생하는 앱, 원격 접속 도구, 화면 꺼짐 방지 유틸리티, 다운로드입니다. 그 하나를 종료하면 Mac은 다시 저절로 잠자기에 들어갑니다.
깨어 있게 만드는 것 찾기
먼저 빠른 답입니다. 이 줄은 잠자기를 막고 있는 프로세스를 알려 줍니다.
pmset -g | grep -E '^ *sleep'
예를 들어 이 Mac은 sleep 1 (sleep prevented by caffeinate, powerd, Amphetamine, ...)를 출력했습니다. 각 프로세스가 얼마나 오래 붙잡고 있는지 같은 자세한 내용은 다음 명령으로 봅니다.
pmset -g assertions
같은 Mac의 실제 출력입니다.
pid 1321(UURemote): 36:07:42 PreventUserIdleSystemSleep named: "UURemote Disable Idle System Sleep"
매뉴얼 페이지(man pmset)는 assertion이 "may prevent system sleep or display sleep"라고 설명합니다. 읽어야 할 항목은 다음과 같습니다.
| Assertion | 막는 것 | 보통 붙잡고 있는 것 |
|---|---|---|
PreventUserIdleSystemSleep |
유휴 상태에서 Mac이 잠자기에 드는 것 | 미디어 재생, 다운로드, 원격 접속, 화면 꺼짐 방지 도구 |
PreventUserIdleDisplaySleep |
유휴 상태에서 디스플레이가 꺼지는 것 | 동영상, 프레젠테이션, 화면 꺼짐 방지 도구 |
PreventSystemSleep |
더 넓은 범위의 잠자기 | 시스템 작업이나 이를 요청한 도구 |
UserIsActive |
유휴 타이머, 잠깐 동안 | 방금 키보드나 트랙패드를 만졌음 |
이 중 대부분은 유휴 상태에서만 막는 것이어서, 보통 Apple 메뉴에서 잠자기를 선택하면 여전히 잠자기에 듭니다. 그렇지 않다면 계속 읽어 보세요.
흔한 원인 살펴보기
| 프로세스 또는 징후 | 이유 | 할 일 |
|---|---|---|
coreaudiod |
오디오가 열려 있음. 일시 정지한 탭일 때도 있다 | 탭이나 플레이어 닫기 |
| 브라우저나 동영상 앱 | 동영상이 재생 중 | 멈추거나 페이지 닫기 |
caffeinate, Amphetamine 등 |
Mac을 깨어 있게 하려고 만든 도구 | 종료하거나 해당 세션 끝내기 |
| UU Remote, 화면 공유 등 원격 도구 | Mac에 접속할 수 있는 상태를 유지 | 연결을 끊거나 종료 |
백업과 동기화 앱, bird |
작업이 진행 중 | 끝날 때까지 기다리거나 일시 중지 |
powerd |
자체 기록, 디스플레이가 켜져 있을 때 많다 | 다른 줄을 먼저 확인 |
pmset -g의 SleepDisabled 1 |
Mac 전체에서 잠자기가 꺼져 있음 | 아래 참고 |
설정도 영향을 줍니다. 시스템 설정 › 배터리 › 옵션을 열고 디스플레이가 꺼져 있을 때 전원 어댑터 사용 시 컴퓨터를 자동으로 잠자지 않게 하기를 확인하세요. 같은 페이지의 네트워크 연결 시 깨우기는 공유 자원을 제공하려고 Mac이 깨어날지를 정합니다. 잠자기에 든 직후 Mac이 깨어난다면 주변기기가 흔한 원인이므로 USB 기기와 허브를 뽑고 다시 시험하세요.
잠자기가 완전히 꺼져 있을 때
pmset -g에는 SleepDisabled 줄이 있습니다. 값이 1이면 메뉴에서든 덮개를 닫든 Mac이 잠자기에 들지 않습니다. 화면 꺼짐 방지 도구는 덮개를 닫아도 켜져 있도록 이 값을 설정하며, 도구가 멈추면 값도 돌아와야 합니다. 먼저 그런 도구를 종료하세요. 그래도 1이고 필요한 것이 없다면 다음을 실행합니다.
sudo pmset -a disablesleep 0
어떤 도구가 설정했는지 모르겠다면 재시동하세요.
덮개를 닫아도 계속 실행될 때
외장 디스플레이, 전원, 키보드나 마우스가 연결된 노트북은 덮개를 닫은 채로 실행될 수 있습니다. 이것이 클램셸 모드이며 의도된 동작이므로, 시험하려면 디스플레이를 분리하세요. 가방 안의 MacBook이 따뜻하다면 그대로 두지 마세요. 꺼내서 위의 명령을 실행해 프로세스를 찾으세요. 일부 도구는 일부러 덮개를 닫아도 Mac을 깨어 있게 합니다.
하지 말아야 할 것
- SMC나 NVRAM 재설정부터 하지 마세요. 거의 모든 경우가 실행 중인 프로세스 하나 때문이고, 위 명령은 몇 초면 끝납니다.
- 포럼에 나온
pmset변경을 무작위로 적용하지 마세요. 재시동해도 유지되어 잊기 쉽습니다.pmset -g custom으로 설정된 값을 보고,sudo pmset restoredefaults로 되돌릴 수 있습니다. - 이 문제를 고치려고
sleepimage를 삭제하지 마세요. 그 파일은 Mac을 깨어 있게 하는 원인이 아닙니다. - 가방 안에서 뜨거워진 MacBook을 무시하지 마세요. 꺼내서 먼저 식히세요.
Mole의 역할
Mole의 상태에서 프로세스 메뉴의 왜 실행 중인가요?는 같은 assertion을 읽고, 그 프로세스가 Mac을 깨어 있게 하고 있으면 "현재 잠자기를 막고 있습니다."라고 알려 줍니다. 의심되는 앱이 하나 있을 때 도움이 됩니다. 전체 목록을 한 번에 보려면 pmset -g assertions가 여전히 더 빠릅니다. Mole의 화면 켜기 유지도 일부러 assertion을 잡는 도구 중 하나이며, 덮개를 닫았을 때도 적용되는 기본 모드에서는 disablesleep을 쓰고 세션이 끝나면 되돌립니다. 이 글과 반대로 Mac을 깨어 있게 하려면 배터리를 아끼며 Mac 화면 켜 두기를 보세요. 밤사이 배터리가 줄어든다면 MacBook 배터리가 빨리 닳는 이유를 보세요.
자주 묻는 질문
Mac이 잠자기에 들지 않는 이유는 무엇인가요?
보통 미디어, 원격 접속 도구, 화면 꺼짐 방지 앱 같은 프로세스가 전원 assertion을 잡고 있습니다. pmset -g assertions가 그 이름을 알려 줍니다.
Mac의 잠자기를 막는 것을 어떻게 확인하나요?
터미널에서 pmset -g assertions를 실행하고, 각 프로세스의 이름을 알려 주는 PreventUserIdleSystemSleep과 PreventSystemSleep 줄을 읽으세요.
잠자기에 든 직후 Mac이 깨어나는 이유는 무엇인가요?
주변기기와 네트워크로 깨우기가 흔한 원인입니다. USB 기기를 뽑고 시스템 설정 › 배터리 › 옵션의 네트워크 연결 시 깨우기를 확인하세요.
coreaudiod가 잠자기를 막는다는 것은 무슨 뜻인가요?
일시 정지 상태여도 브라우저 탭이나 음악 앱처럼 무언가가 오디오를 열어 둔 것입니다. 그것을 닫으면 assertion이 사라집니다.
SleepDisabled는 무슨 뜻인가요?
대개 화면 꺼짐 방지 도구 때문에 Mac 전체의 잠자기가 꺼져 있다는 뜻입니다. 그 도구를 종료하세요. 값이 계속 1이면 sudo pmset -a disablesleep 0을 실행하세요.