1P by GN⁺ | ★ favorite | 댓글 1개
  • Stats는 macOS 메뉴 바에서 CPU, GPU, 메모리, 디스크, 네트워크, 배터리, 센서, Bluetooth 기기, 다중 시간대 시계를 모니터링하는 앱임
  • 설치는 최신 Stats.dmg를 내려받아 애플리케이션 폴더로 옮기거나, Homebrew에서 brew install stats 로 진행할 수 있음
  • 지원 대상은 정식 출시된 macOS 12 Monterey 이상이며, 오래된 시스템용 레거시 버전은 별도 다운로드로 제공됨
  • 메뉴 바 아이콘이 보이지 않는 경우 macOS 26의 System Settings → Menu Bar 개인정보 제어에서 Stats를 명시적으로 켜야 할 수 있음
  • Sensors와 Bluetooth 모듈은 상대적으로 비효율적이며, 이를 끄면 일부 경우 CPU 사용량과 전력 효율 영향이 최대 50% 까지 줄어들 수 있음

Stats가 제공하는 기능

  • Stats는 macOS 시스템 상태를 메뉴 바에서 확인할 수 있게 하는 애플리케이션임
  • 모니터링 대상은 다음을 포함함
    • CPU 사용률

    • GPU 사용률

      • 메모리 사용량
      • 디스크 사용량
      • 네트워크 사용량
      • 배터리 수준
      • 팬 제어
      • 센서 정보: 온도, 전압, 전력
      • Bluetooth 기기
      • 다중 시간대 시계

설치와 요구 사항

  • 최신 버전은 Stats.dmg로 받을 수 있음
    • 다운로드한 Stats.dmg를 열고 앱을 애플리케이션 폴더로 이동하면 됨
  • Homebrew 설치도 지원함
    • brew install stats
  • 오래된 시스템용 레거시 버전별도 다운로드에서 제공됨
  • 지원 macOS 버전은 정식 출시된 macOS 12 Monterey 이상

메뉴 바와 위젯 관련 동작

  • 메뉴 바 아이콘 순서는 Stats가 아니라 macOS가 결정
    • Stats 설치 후 첫 재부팅 뒤 순서가 바뀔 수 있음
    • macOS Mojave 10.14 이상에서는 ⌘ 키를 누른 채 아이콘을 원하는 위치로 드래그해 순서를 바꿀 수 있음
  • Stats 아이콘이 메뉴 바에 나타나지 않으면 macOS 26의 새 개인정보 제어가 원인일 수 있음
    • 위치는 System Settings → Menu Bar
    • Stats가 실행 중이고 하나 이상의 모듈과 위젯이 켜져 있는데도 아이콘이 보이지 않으면 이 설정을 확인해야 함
    • 해결 방법은 Stats 토글을 ON으로 켜는 것임
    • 관련 세부 내용은 이슈 #3120에 있음
  • 데스크톱 위젯 데이터 표시가 안 되는 경우 Stats 쪽에서 통신이 기본 비활성화되어 있음
    • 앱과 위젯 사이 통신을 담당하는 시스템 프로세스 chronod의 높은 데이터 부하 문제가 이유임
    • 해결 방법은 Stats 설정에서 macOS widgets 옵션을 ON으로 켜는 것임
    • 관련 세부 내용은 이슈 #2733에 있음

성능, 센서, 팬 제어의 제약

  • Stats는 효율적으로 동작하려 하지만, 일부 데이터를 주기적으로 읽는 작업은 비용이 작지 않음
  • 각 모듈은 서로 다른 에너지 영향과 CPU 사용 비용을 가짐
    • 특히 Sensors와 Bluetooth 모듈이 가장 비효율적인 편임
    • 이 모듈들을 비활성화하면 일부 경우 CPU 사용량과 전력 효율 영향을 최대 50% 줄일 수 있음
  • 팬 제어는 레거시 모드임
    • 업데이트나 수정이 제공되지 않음
    • 오래된 Mac에서 꽤 잘 동작하기 때문에 앱에서 제거되지는 않았음
    • 수정이나 개선 PR은 받을 수 있지만, 해당 기능을 지원할 시간과 여력은 없다고 밝힘
  • CPU/GPU 센서는 코어 수나 특정 코어와 직접 관련되지 않음
    • CPU/GPU 센서는 CPU/GPU의 열 구역 센서
    • 예를 들어 CPU는 보통 효율 코어 클러스터와 성능 코어 클러스터로 나뉘며, 각 클러스터에는 여러 온도 센서가 있음
    • CPU Efficient Core 1은 단일 효율 코어의 온도가 아니라 효율 코어 클러스터 내부의 온도 센서 하나를 가리킴
    • Apple은 새 SoC마다 센서 키를 바꾸기 때문에 적절한 센서에 대응하는 SMC 값을 파악하는 데 시간이 걸림

외부 API와 네트워크 요청

  • Stats는 일부 외부 API를 사용함
  • 두 API는 업데이트 확인에 사용됨
  • 공인 IP 주소를 얻기 위해 외부 요청이 필요함
    • 서드파티 제공자를 쓰고 싶지 않아 자체 서버를 사용함
  • 이 요청이 우려되는 사용자는 선택지가 있음
    • 외부 서버 없이 기능이 동작하도록 하는 PR을 제안할 수 있음
    • 네트워크 필터링 앱으로 두 서버를 차단할 수 있음
    • 차단하면 업데이트를 받거나 네트워크 모듈에서 공인 IP를 볼 수 없음

이슈 처리와 기여 방식

  • 앱이 크래시하면 먼저 최신 버전 사용 여부를 확인해야 함
    • 이미 크래시 방지 수정이 릴리스됐을 가능성이 높음
    • 최신 버전에서도 문제가 있으면 열린 이슈를 확인해야 함
    • 기존 이슈가 문제를 다루지 않을 때만 새 이슈를 열어야 함
  • 답변 없이 이슈가 닫힌 경우는 대체로 중복 이슈일 가능성이 큼
    • 닫힌 이슈 검색을 통해 기존 답변을 찾을 수 있음
  • 새 기능 개발이나 버그 발견 시 첫 단계는 이슈를 여는 것임
    • 기능이나 문제를 먼저 논의해야 함
    • Pull request는 기존 이슈가 있고 논의가 끝난 뒤 열어야 함
    • 논의 없이 열린 PR은 자동으로 닫힐 수 있음
    • 언어 변경과, 이미 큰 기여를 했고 구현 방향이 잘 맞는 기여자는 예외가 될 수 있음

언어와 라이선스

  • Stats는 English, Polski, Українська, Русский, 中文, Türkçe, 한국어, German, Spanish, French, Italian, Japanese 등 여러 언어를 지원함
  • 새 언어를 추가하거나 기존 번역을 개선하는 방식으로 기여할 수 있음
  • 라이선스는 MIT License

댓글과 토론

Hacker News 의견들
  • Stats를 몇 년째 CPU, GPU, 메모리, 네트워크 업로드/다운로드 속도 확인용으로 써왔고 아주 만족함
    종료되지 않은 프로세스들이 100%에 걸려 있는지, 내 코드가 실제로 GPU에서 도는지, 다운로드나 전송이 멈췄을 때 네트워크 전송률이 어떤지, 어떤 프로세스가 몰래 수백 MB를 받는지 파악하기 좋음
    컴퓨터가 지금 뭘 하는지 상단에서 한눈에 보는 안정감을 줘서 메뉴 막대에서 빠진 모습을 상상하기 어려움

    • Intel MBP에서는 뭔가가 100% 사용률에 걸리면 청각 경고가 울림. 팬 소리임
    • 맞음. iStat Menus를 몇 년째 쓰고 있는데 정말 가치가 큼
      그래프를 힐끗 보고 “어, 지금 이러면 안 되는데” 싶은 순간만으로도 시스템 전체 문제를 몇 번 찾아냈고, 멈춘 프로세스뿐 아니라 이상하게 동작하는 프로세스도 잡아낼 수 있었음
      예전에 이 상황을 https://blogsystem5.substack.com/p/hard-disk-leds-and-noisy-...에 쓴 적도 있음
    • 이런 도구를 항상 켜두는 걸 좋아했음. 한쪽에 연속 그래프가 보인 덕분에 내 소프트웨어 버그도 찾은 적이 있음
      “왜 지금 아무 이유 없이 CPU를 100% 쓰지? 아, 요청 없이 10분 지나면 여기서 무한 루프에 들어가네…” 같은 식임
      예전에는 팬이 100%로 도는 게 좋은 버그 탐지기였지만, 요즘 컴퓨터는 너무 조용해서 눈으로 봐야 함
  • iStat Menus의 복제품처럼 보임. 몇 년 동안 설치해뒀다가 어느 날 거의 보지 않는다는 걸 깨닫고, 아이콘만 메뉴 막대 공간을 차지해서 결국 지웠음
    Dock의 Activity Monitor를 CPU 표시로 설정해두는 것만으로도 충분함

    • 가장 자주 쓰는 건 Firefox의 about://peformance
      예전에는 Activity Monitor를 열었지만, 노트북 팬이 돌 때마다 원인은 매번 브라우저였음. 브라우저 성능 모니터를 보면 어떤 탭이 문제인지 바로 보이고, 보통 문제 탭에서 cmd-R을 누르면 다시 안정됨
      어떤 JavaScript 개발자가 자기 코드를 변경사항 테스트 시간보다 더 오래 탭에 띄워둔 상태로는 테스트하지 않은 것 같다고 봄
    • Activity Monitor.app도 아이콘을 우클릭해서 Dock Icon 메뉴에서 고르면 Dock 안에 유용한 통계를 표시할 수 있다는 걸 이제 알았음
    • 실제로 iStat Menus 복제품이 맞음. 다만 꽤 잘 만든 복제품이고, iStat의 연간 업그레이드 비용을 내는 데 지쳤을 때 발견했음
    • 나도 비슷했음. iStat Menus를 항상 켜뒀다가, 실제로 보지도 않는 것들을 보여주느라 리소스를 얼마나 쓰는지 보고 꺼버렸음
      요즘은 Little Snitch의 네트워크 모니터만 두는데, 가끔 실제로 트래픽이 어디로 가는지 볼 때 씀
    • iStatsMenu가 시스템을 불안정하게 만들기도 했음. 실행 중일 때 무작위 커널 패닉이 발생했음
      기본 구성이 아니라 일부 표시 모듈 문제였을 수도 있지만, 원인 추적까지 할 마음은 없어서 지웠음
      가끔 다시 설치해보지만 여전히 시스템이 죽음. 그냥 보기 좋은 장식에 가까움
  • 괜찮아 보임. 예전에는 iStat Menus에 돈을 냈지만, 새 노트북을 산 뒤 내가 라이선스를 산 예전 버전을 어디서 받는지 못 찾았음
    개인적으로 CPU/메모리/네트워크 사용량과 각 항목을 가장 많이 쓰는 상위 5개 앱은 항상 보여야 한다고 봄. 이제는 컴퓨팅 기기의 기본 기능이어야 하는데, 아직도 그렇지 않은 건 리소스를 잡아먹는 나쁜 소프트웨어나 악의적 행위자에게만 이득임
    이런 기본 정보를 보려고 매번 Activity Monitor를 실행해야 해서는 안 됨. 한번 써볼 생각임

    • 왜 항상 봐야 함?
  • MenuMeters가 떠오름. 실시간 지표와 여러 종류의 그래프, 서로 다른 새로고침 간격을 보여주는 데 아주 좋았음
    https://member.ipmu.jp/yuji.tachikawa/MenuMetersElCapitan/

    • 좋지. 거의 10년 동안 MenuMeters를 쓰고 있음. 적어도 대역폭 표시기 없이 어떻게들 쓰는지 모르겠고, 여러 이유로 정말 유용함
    • Powerbook 시절부터 쓰고 있으니 20년쯤 된 듯함. 포크가 살아 있어서 계속 쓸 수 있는 게 정말 반가움
  • 이걸 설치하자마자 LegacyScreenSaver가 메모리 40GB를 누수하고 있다는 걸 바로 발견함

    • 회사 노트북이면, Intel 아키텍처용 화면 보호기가 들어 있는 경우가 많고 Apple Silicon이 이 문제와 관련 있을 수 있음
  • iStat Menus의 영향을 많이 받은 것처럼 보이는데, 나는 https://bjango.com/mac/istatmenus/를 여러 해 동안 기쁘게 돈 내고 써왔음

    • 최신 재설계는 꽤 별로임. 예전의 정밀한 그래프를 돌려줬으면 함
    • 돈도 냈고 업그레이드도 한 번 결제했지만, Stats가 내가 관심 있는 기능은 전부 제공하는 것 같음
    • 이 추천에 동의함
      Stats가 발전하는 동안 몇 번 써봤지만 결국 iStat Menus로 돌아오게 됨. Stats의 디자인도 iStat Menus에서 꽤 영감을 받은 느낌임
      그래도 Stats에서 고맙게 보는 점은 더 많은 SMC 센서 값을 지원한다는 것임
    • Bjango 라이선스를 몇 년째 갖고 있는지 셀 수 없을 정도임. 훌륭한 소프트웨어임
    • Stats를 4년째 쓰고 있는데 한 번도 문제 없었음. 무료 오픈소스가 있는데 굳이 돈 낼 이유를 모르겠음
  • brew로 설치했는데 메뉴 막대에 뜨지 않았음. Mac을 재시작하니 보였지만, 지금 문서 업데이트 PR을 만들기는 귀찮음
    추가로, 배터리 위젯만 보이고 다른 위젯은 안 보여서 초기 사용 경험이 헷갈림
    알고 보니 Mac의 형편없는 메뉴 막대 공간 UX 때문에 전부 숨겨져 있었음. 더 많은 메뉴 항목이 있다는 표시도 없음. Mac의 나쁜 설계 결정임

    • Mac 메뉴 막대 간격을 줄이고 싶다면 터미널에 이렇게 넣으면 됨
      defaults -currentHost write -globalDomain NSStatusItemSpacing -int 8
      defaults -currentHost write -globalDomain NSStatusItemSelectionPadding -int 8
      되돌리려면 이렇게 하면 됨
      defaults -currentHost delete -globalDomain NSStatusItemSpacing
      defaults -currentHost delete -globalDomain NSStatusItemSelectionPadding
      그다음 로그아웃했다가 다시 로그인하면 됨
    • macOS에서 공간이 없으면 아이콘이 그냥 안 보이는 건 정말 나쁜 UX임. 최소한 넘침 영역은 있어야 함
      예전에는 이런 기능을 쓰려고 https://www.macbartender.com/에 돈을 냈음
    • 오픈소스, 특히 무료 오픈소스 앱은 초기 사용 경험을 크게 신경 쓰지 않을 가능성이 높음
  • iPulse(https://ipulseapp.com/)를 거의 20년째 쓰고 있음. 보기 좋아서 옆에서 화면을 보던 사람들이 꾸준히 칭찬하거나 질문하고, 화면 공간도 많이 차지하지 않음
    관련자는 아니지만 강하게 추천함

  • 3~4개월 전에 마지막으로 써봤을 때 Stats가 iStats Menus보다 CPU 사용량을 꽤 더 많이 먹었음

  • 작고 괜찮은 앱이지만, 내 M2 MBA에서는 bluetoothd가 CPU를 최대 40%까지 먹으며 폭주하게 만들었음

    • FAQ에 설명되어 있음. Bluetooth 모듈이 비효율적이지만 끌 수 있다고 함