GN⁺ 9달전 | parent | ★ favorite | on: MacBook Pro Insomnia(manuel.bernhardt.io)
Hacker News 의견
  • 또 하나의 유용한 팁 공유임. Activity Monitor에서 Energy 탭을 열고 "Preventing sleep" 열로 정렬하면 어떤 앱이 macOS의 수면을 막는지 확인할 수 있음. 내 경우 Devonthink 앱이 원인이라고 확인함. 아직 버그 리포트는 못 올렸음. Apple의 전원 관리 기능이 이런 문제를 사용자에게 알리지 않는 게 의아함. 맥이 가방 안에서 뜨겁게 달아오르고 배터리가 소진되는 상황이 중요한 문제 아닌지 의문임. 그 와중에 Chrome이 네트워크 장치 검색 허용할지 계속 물어보는 건 훨씬 덜 중요한 것 같음
    • Apple의 전원 관리가 이에 대한 경고를 안 한다는 것도 놀랍지만, 덮개를 닫아도 어떤 앱이 시스템의 수면을 막을 수 있다는 점이 더 놀라움. 동영상 플레이어처럼 때때로 타임아웃 기반의 수면 방지가 필요한 건 이해함. 하지만 덮개를 닫거나 수면 버튼을 눌렀을 때 시스템이 잠자지 않도록 앱이 결정하는 건 정말 쓸모 있는 예시가 거의 없음. 대부분 이런 상황은 결과적으로 백팩 안에서 과열된 노트북을 가져올 확률만 높임. 더욱이, 웹 페이지 하나만으로도 시스템이 수면으로 들어가지 못하게 할 수 있다니, 70개 탭 중 어떤 게 문제인지 찾기 어려움. 타임아웃 기반의 수면 방지 권한과 "뚜껑을 닫으면 무조건 잠자기" 같은 코어 동작 변경 권한을 분리하면 좋을 것 같음. 타임아웃 사용은 허용해도 덮개 닫힘 같은 것은 반드시 사용자에게 알리고 허가받아야 함
    • 아무 앱이나 시스템 전체의 수면을 막을 수 있다는 걸 몰랐음. 이런 권한은 사용자 통제 아래 있어야 마땅함. 개발자가 이러한 API를 호출하려면 최소한 entitlement가 필요한 것 아닌지 궁금함
    • shell에서 pmset -g assertions 명령어를 쓰면 어떤 프로세스가 시스템 수면을 막고 있는지 알 수 있고, 보류 중인 파워 assertion들의 상세 정보를 볼 수 있음. pmset에는 공식 문서에 없는 명령어도 있는데, Apple이 소스코드에 공개한 걸 보면 알 수 있음. 특정 assertion을 무시하도록 만드는 명령도 있음. 단 "UserIsActive" assertion을 끄면 시스템을 깨우는 데 애를 먹을 수 있음
    • 이런 기능이 있는 줄 몰랐음, 고마움. 최근에 사용하지 않던 MacBook의 배터리가 자꾸 줄어드는 이유가 궁금했었는데, 알고 보니 Firefox가 수면을 막고 있었음. 자동재생 비디오 때문인 듯함. 완벽하진 않지만 고칠 수 있는 문제임
    • Safari는 한편으로는 Netflix를 시청 중일 때 전력 소모가 많으니 닫으라고 알림을 띄움
  • 내 MacBook Pro에서도 비슷한 현상이 있었음. Apple Silicon 모델이 아니라 이전 모델임. 그 당시 공유기에서 DHCP 임대 시간을 기본값보다 훨씬 낮게 15분으로 바꿨었음. 내 생각에는 MacBook이 15분마다 IP 갱신을 위해 깨어나서, 잠깐 자다가 또 깨어나는 현상이 반복된 것으로 보임. 공유기 임대 시간을 이전의 기본값으로 되돌리니 배터리 소모 문제가 완전히 해결됐음. 그 원인을 예측하긴 힘들었는데, 마침 새 MacBook Pro를 산 직후라 이런저런 문제에 더 신경을 썼던 덕에 빨리 찾게 됨
    • 제대로 동작하는 DHCP 클라이언트는 임대 시간의 50%가 지나면 갱신 요청을 하게 됨. 즉 생각보다 더 자주 깨어났을 가능성이 높음
    • DHCP 임대 시간을 15분으로 바꾼 이유가 궁금함. 어떤 목적이 있었는지 물어봄
    • 나도 방금 알게 됐는데, 사용 중인 mikrotik 공유기는 기본적으로 10분짜리 임대 기간을 사용함
    • 이런 현상 너무 신기함. 한 번 IP 갱신을 위해 깨어날 때 어느 정도 mAh를 소모하는지 궁금함. 수 밀리암페어-밀리초 수준일 것 같은데, 결국 노트북이 WiFi만 잠깐 켜고 패킷 몇 개 주고받는 정도임. 물론 Apple Silicon 이전 모델이라서 실제로는 얘가 깨어있는 동안 다른 짓을 추가로 했을 수도 있음
    • 이건 macOS 버그라고 생각함. 수면 중일 때는 굳이 IP가 필요 없으므로 DHCP 임대 갱신을 목적으로 깨어나는 건 비정상임. 소스가 공개되지 않은 OS는 이런 점에서 문제임
  • “Wake for maintenance” 옵션이 꺼져 있으면 Sleep Aid에서 설정 창에 이로 인해 자주 깨어날 수 있다고 안내함. 작가가 실수로 “옵션이 꺼져 있었다”라고 적은 것 아닐지 궁금함
    • 나도 같은 생각이었음. 이건 추측이지만, 이 설정이 꺼져 있으면 깨어나는 이벤트가 시간별로 묶여서 한 번에 처리되지 않고 밤새 아무 때나 여러 번 발생할 수 있을 것 같음. 바로 이런 현상을 설명하는 것으로 보임
    • 헷갈림. 명시적으로 컴퓨터를 깨우는 옵션을 켜면 오히려 깨어나는 횟수가 줄어드는지 궁금함
    • 나도 혼란스러움. 작성자의 스크린샷에서는 Enable 상태임. 그게 ‘정상’으로 보이는데, Disabled가 왜 더 많은 Wake를 유발하는지 직관적으로 잘 이해가 안 됨
    • 이런 상식에 반하는 설명은 부연 설명이 필요하거나 최소한 그런 예외임을 명확히 밝혀주길 바람. 글 작성 후 수정할 때 이런 문제를 잡기가 어려움
  • 내가 그동안 가지고 있던 모든 Mac 랩탑에서 뚜껑을 닫을 때 항상 hibernate로 설정해 문제를 해결했음. 뚜껑을 열어서 다시 사용할 때는 20~30초 정도 복구 시간이 걸리는데, 수면과 배터리 소모에 대해 신경 쓸 일이 상당히 줄어드는 작은 대가라고 생각함. 터미널에서 이 명령어로 쓸 수 있음: sudo pmset -a hibernatemode 25. 원래대로 돌리려면 sudo pmset -a hibernatemode 3를 입력하면 됨
    • hibernate 모드가 FDE(전체 디스크 암호화)와 잘 작동하는지 궁금함. Linux에서는 메모리 내용을 디스크에 쓰는 과정에서 암호화 관련 주의사항이 다양함
    • 대부분의 사람들이 기대하는 동작을 가장 간편하게 설정하는 방법이라고 생각함
  • Macbook 수면 관련 문제를 정말 오래 파고들었지만, WindowServer가 원인이고 결국 풀 OS 재설치가 필요할 것 같음. 한두 달에 한 번씩 가방에서 뜨겁고 방전된 노트북을 꺼내는 것만큼 속상한 건 "난 그런 적 없는데 뭔가 잘못 사용한 거 아니냐"는 반응임
  • MacOS는 10년 전부터 거의 유지보수 모드인 것처럼 느껴짐. ARM/Mac Silicon 이식 작업이 엄청 많았을 거라 생각함. AI 업데이트도 실망스러웠고, 최근에 실질적인 개선은 많지 않았던 느낌임. 예전에 전원 버튼이 백스페이스 옆에 붙은 Intel Macbook Air를 쓴 적 있었는데, 전원 버튼을 한 번만 누르면 바로 꺼지지 않도록 hold해야 하게 만드는 스크립트를 Mac 포럼에서 찾아서 사용했었음. 그런데 그 스크립트에 트로이 목마가 숨겨져 있어서 맥 공장 초기화와 iCloud 전체 삭제가 필요했음. 이 스크립트는 내부 변수로 보이는 GUID도 있었고 어딜지 모르는 곳에서 리소스를 다운로드할 수 있었다고 함. 나는 그냥 내부 변수라고만 생각했었음
  • Apple 공식 지원 문서를 보면 이 기능(전력 옵션)이 기본 제공됨
    • macOS 26 DB가 설치된 M4 MacBook Air에는 해당 위치에 power nap이 없음. 대신 "Wake for network access"가 등장했고, 기본값은 "Only on Power Adapter"임
    • power nap과 "wake for network access"가 같다고 착각했었음. macOS 26에서는 더 이상 옵션이 없는 듯함. 내 설정은 "Only on Power Adapter"로 되어 있는데, 합리적임. M4 MacBook Air 기준임
  • 나도 거의 똑같은 블로그 글을 지난주에 썼었음. 아쉽게도 내 경우에는 그 솔루션이 효과가 없었는데, power nap 이외의 다른 프로세스가 계속 깨움. 관련 글: annoying.technology 포스트
  • Activity Monitor의 Energy 탭은 이런 상황에서 유용함. 어떤 앱이 완전히 시스템 sleep을 막는지 알 수 있고, 각 프로세스의 지난 12시간 전력 소모도 볼 수 있음. 밤새 곧바로 원인을 추적할 수 있음
  • 나 역시 MacBook Pro(Apple Silicon)에서 비슷한 문제를 겪고 있음. SSD를 연결한 채로 잠자기를 하면 주기적으로 시스템이 깨어나 드라이브를 활성화하는 것 같음. 결과적으로 노트북과 SSD 모두 열이 나고 배터리가 금방 소모됨. 유일한 대처 방법은 잠자기 전에 모든 외장 드라이브를 분리하고, 충전기에 꼽아두는 것뿐임. 꽤 번거로운 버그임. 품질 관리와 테스트가 부족했다는 생각임