- 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를 사용함
https://api.mac-stats.com: 업데이트 확인과 공인 IP 주소 조회https://api.github.com: 업데이트 확인용 대체 경로
- 두 API는 업데이트 확인에 사용됨
- 공인 IP 주소를 얻기 위해 외부 요청이 필요함
- 서드파티 제공자를 쓰고 싶지 않아 자체 서버를 사용함
- 이 요청이 우려되는 사용자는 선택지가 있음
- 외부 서버 없이 기능이 동작하도록 하는 PR을 제안할 수 있음
- 네트워크 필터링 앱으로 두 서버를 차단할 수 있음
- 차단하면 업데이트를 받거나 네트워크 모듈에서 공인 IP를 볼 수 없음
이슈 처리와 기여 방식
- 앱이 크래시하면 먼저 최신 버전 사용 여부를 확인해야 함
- 이미 크래시 방지 수정이 릴리스됐을 가능성이 높음
- 최신 버전에서도 문제가 있으면 열린 이슈를 확인해야 함
- 기존 이슈가 문제를 다루지 않을 때만 새 이슈를 열어야 함
- 답변 없이 이슈가 닫힌 경우는 대체로 중복 이슈일 가능성이 큼
- 닫힌 이슈 검색을 통해 기존 답변을 찾을 수 있음
- 새 기능 개발이나 버그 발견 시 첫 단계는 이슈를 여는 것임
- 기능이나 문제를 먼저 논의해야 함
- Pull request는 기존 이슈가 있고 논의가 끝난 뒤 열어야 함
- 논의 없이 열린 PR은 자동으로 닫힐 수 있음
- 언어 변경과, 이미 큰 기여를 했고 구현 방향이 잘 맞는 기여자는 예외가 될 수 있음
언어와 라이선스
- Stats는 English, Polski, Українська, Русский, 中文, Türkçe, 한국어, German, Spanish, French, Italian, Japanese 등 여러 언어를 지원함
- 새 언어를 추가하거나 기존 번역을 개선하는 방식으로 기여할 수 있음
- 라이선스는 MIT License임