클릭하여 터미널 활성화

iStat Menus 150MB 쓰는 게 싫어서 직접 만들었다 | SystemPulse

// macOS · Swift · AppKit · 메뉴바 앱 · 시스템 모니터
79KB짜리 macOS 메뉴바 시스템 모니터 직접 만들었다 — SystemPulse

Activity Monitor가 귀찮은 이유

CPU 얼마나 쓰는지 보려고 Activity Monitor 열었다가 창 닫는 게 더 귀찮았다. iStat Menus 같은 툴은 기능은 많은데 메모리를 80~150MB씩 잡아먹는다.

"그냥 메뉴바에 숫자만 보여주는 가벼운 거 없나?"

없으면 만들면 된다. Swift + 순수 AppKit으로 직접 만들었다. 결과물은 DMG 79KB, 메모리 42MB, CPU 0.0%.

SystemPulse v1.0.0
언어      : Swift (순수 AppKit, SwiftUI 없음)
최소 OS   : macOS 13.0 Ventura 이상
DMG 크기  : 79 KB
메모리 사용: ~42 MB
CPU 사용  : 0.0%
외부 의존성: 없음 (Zero dependencies)
라이선스  : MIT

다른 툴과 성능 비교

메모리 사용량 비교
iStat Menus 류
80~150 MB
SystemPulse
~42 MB
바이너리 크기
196 KB

기능

메뉴바에 항상 이렇게 표시된다.

macOS 메뉴바
CPU 12% | MEM 62% | DSK 45% | ↑1.2KB/s ↓3.4MB/s
CPU
전체 사용률 (%)
User / System 분리 표시
MEMORY
사용률 (%)
Used / Total 정확한 바이트
DISK
사용률 (%)
남은 용량 표시
NETWORK
업로드 / 다운로드 속도
실시간 갱신
⚙️
커스터마이징
각 지표 켜고 끄기 가능. 갱신 주기 1s / 2s / 3s / 5s 선택 가능. 메뉴바 클릭하면 상세 정보 드롭다운으로 펼쳐짐.

기술 스택

TECH STACK
언어Swift
프레임워크순수 AppKit (SwiftUI 없음, Electron 없음)
시스템 APIhost_processor_info, host_statistics64, getifaddrs
아키텍처MVVM + Combine
최소 OSmacOS 13.0 Ventura
의존성없음 (Zero dependencies)

SwiftUI 안 쓴 게 핵심이다. SwiftUI는 편하긴 한데 오버헤드가 있다. 메뉴바 앱처럼 항상 백그라운드에서 실행되는 앱은 순수 AppKit이 훨씬 가볍다. 시스템 데이터도 고수준 API 대신 Mach 커널 API를 직접 써서 정확도를 높였다.

설치 방법

두 가지 방법이 있다.

방법 1 — DMG 다운로드 (간단)
설치 순서
02SystemPulse.dmg 다운로드
03DMG 열고 SystemPulse.app → Applications 드래그
04Applications에서 실행
⚠️
Apple 인증서 없음 — 첫 실행 시 차단될 수 있음
macOS가 "확인할 수 없는 개발자" 경고를 띄울 수 있다.
시스템 설정 → 개인 정보 보호 및 보안 → 아래로 스크롤 → "그래도 열기" 클릭
방법 2 — 소스 빌드
macOS Terminal
# Xcode Command Line Tools + macOS 13.0+ 필요
user@mac:~$ git clone https://github.com/LowAHN/SystemPulse.git
user@mac:~$ cd SystemPulse
user@mac:~$ make app
user@mac:~$ open build/SystemPulse.app

사용법

USAGE
메뉴바 텍스트 클릭상세 정보 드롭다운 펼치기
Display 메뉴CPU / MEM / DSK / NET 각각 켜고 끄기
Refresh Interval1s / 2s / 3s / 5s 갱신 주기 선택
종료Quit 클릭 또는 ⌘Q
// 결론
79KB. 메모리 42MB. CPU 0.0%.
Activity Monitor 안 열어도 된다.
Tags: #Swift #macOS #AppKit #메뉴바앱 #시스템모니터 #오픈소스 #CPU모니터 #SystemPulse #MVVM