Pinned Pinned 에서 Mac App Store
Pinned 앱 아이콘: 흰색 다운로드 화살표와 호박색 업로드 화살표가 나란히 있는 모습.

진짜 속도를, 위로도 아래로도, 메뉴 막대에서.

Pinned은 Mac이 이미 유지하고 있는 바이트 카운터를 읽어, 실제로 트래픽을 전달하는 연결에서 실시간 다운로드 및 업로드 속도로 변환합니다. 패널을 열면 데이터를 전송하는 앱의 이름을 알려주고, 실제 청구 주기를 기준으로 데이터 한도를 계산하며, 부하 상태에서도 연결이 버티는지 측정합니다.

Mac App Store에서 다운로드

무료. macOS 13 이상, Apple silicon 및 Intel. Pinned Pro는 연간 USD 4.99 메뉴 막대 표시는 만료되지 않습니다.

다른 메뉴 막대 모니터들은 열 가지를 측정해서 대시보드를 보여줍니다. Pinned은 이 네 가지 질문에 완전히 답합니다: 얼마나 빠른지, 어떤 앱인지, 이번 주기에 얼마나 썼는지, 연결을 쓸 수 있는지.

그림 1  /  표시

22 pt 막대

상태 항목은 보장된 고정 너비로 그려집니다. 측정 범위는 0 B/s 부터 1.4 Gbps까지 동일하며, 떨리는 일도 옆 항목을 메뉴 막대에서 밀어내는 일도 없습니다.

1 s
속도 측정을 위한 샘플링 간격. 웨이크업을 통합할 수 있도록 타이머 허용 오차 적용
64비트
커널의 바이트 카운터를 사용하므로, 빠른 연결에서도 값이 넘치거나 거짓 수치를 보이지 않습니다
0
처리량을 확인하거나 앱에 귀속시키기 위해 여는 소켓 수. 트래픽을 보내는 것은 응답성 테스트뿐이며, 그것도 버튼을 눌렀을 때만입니다
0.3–0.4%
패널을 닫았을 때의 CPU 사용량, Apple silicon 기준 측정

부분으로 나뉜 표시

열세 가지 측정값. 무엇을 어떤 순서로 둘지는 사용자가 정합니다.

대부분의 메뉴 막대 모니터는 고정된 표시 하나를 주거나, 모든 것을 늘어놓은 벽을 줍니다. Pinned은 모듈로 조립합니다. 원하는 것을 추가하고, 원하는 순서로 끌어다 놓고, 나머지는 빼두면 됩니다.

모든 모듈은 고정된 문자 칸 수를 확보하므로, 숫자가 0 B/s 일 때나 1.4 Gbps일 때나 항목의 너비는 정확히 같습니다. 무엇을 추가해도 메뉴 막대가 밀리지 않습니다.

두 줄 또는 한 줄, 그리고 세 가지 밀도. 메뉴 막대가 붐빌 때는 같은 측정값이 절반 너비로 들어갑니다.

열세 가지 모두 영원히 무료입니다. Pinned Pro는 앱별 대역폭, 데이터 한도, 알림, 응답성 테스트, 사용 기록이며, 표시가 아닙니다.

표시 뒤의 패널은 네트워크뿐 아니라 이 Mac도 보여줍니다. 프로세서, 메모리, 저장 공간, 배터리, 가동 시간, 날씨가 각각 숫자 뒤의 한 문장과 함께 나옵니다.

연결

다운로드
이번 1초 동안 들어온 바이트. 커널 자체의 카운터에서 가져옵니다.
업로드
나가는 바이트. 끊기는 통화를 설명해 주는 숫자입니다.
합계
두 방향을 하나의 숫자로. 가장 좁은 메뉴 막대를 위해.

쓸 만한지

지연 시간
직접 고른 호스트까지의 왕복. 켜기 전까지는 꺼져 있습니다.
패킷 손실
그 프로브 가운데 끝내 돌아오지 않은 비율.

얼마나 썼는지

이번 세션
앱이 시작된 이후, 또는 마지막으로 초기화한 이후.
이번 기간
달력상의 월이 아니라, 실제 청구 주기를 기준으로 계산됩니다.

이 Mac

프로세서
사용 중인 비율과, 그 뒤의 1분 부하 평균.
메모리
전체 대비 사용량. 커널 자체의 압박 수준에 따라 색이 정해집니다.
저장 공간
남은 공간. macOS가 필요할 때 확보할 수 있는 양까지 포함합니다.
배터리
충전량과, macOS가 예상 시간을 내놓을 때의 남은 시간.
가동 시간
이 Mac이 마지막으로 시작된 뒤 지난 시간.

바깥

날씨
현재 위치의 기온을 MET Norway의 공개 데이터에서 가져옵니다. 기본값은 꺼짐이며, 계정도 API 키도 없고, 전송하는 위치는 약 1킬로미터 단위로 반올림됩니다.

일곱 가지 테마

하나만 고르면 전체 모습이 정해집니다.

테마는 표시와 패널을 함께 결정합니다. 기호, 굵기, 배치, 색상까지. 테마가 기록한 설정은 나중에 손으로 바꿀 수 있습니다.

기본 macOS시스템 고유의 재질
1.2 MB/s340 KB/s
신호숫자 앞에 방향
1.2 MB/s340 KB/s
미니멀숫자 하나, 절제된 글자
1.2  340
스파크라인지난 1분의 흐름
1.2  340
높은 대비완전한 밝기, 흐려지지 않음
1.2 MB/s340 KB/s
터미널인광 녹색과 호박색
D1.2 MB/sU340 KB/s
네트워크 콘솔색은 상태를 뜻함
1.2 MB/s  340 KB/s

위의 띠는 이 페이지 안에서 그린 것입니다. App Store 스크린샷은 같은 일곱 가지를 앱이 직접 그린 모습입니다.

무엇을 측정하는가

이미 오간 데이터를 셀 뿐, 무언가를 따로 가져오지 않습니다.

macOS는 Mac의 모든 네트워크 인터페이스에 대해 누적 바이트 수를 유지합니다. Pinned는 초당 한 번 커널에 그 목록을 요청합니다, sysctl(NET_RT_IFLIST2)를 통해서. 그리고 한 번의 측정값과 다음 측정값의 차이를 보고합니다. 그 차이가 바로 속도입니다. 측정은 이것이 전부입니다.

이 카운터는 64비트. 더 손쉽게 접근할 수 있는 인터페이스는 32비트 카운터를 반환하는데, 이는 4.29GB마다 값이 넘칩니다. 빠른 연결에서는 이것이 단 몇 분 만에 일어날 수 있고, 값이 넘칠 때마다 화면에는 의미 없는 급등으로 나타났을 것입니다.

Pinned은 이를 위해 자체적으로 소켓을 열지 않습니다. 프로브도, 테스트 파일도, 상대편 서버도 없으며, 설명하려는 바로 그 트래픽에 아무것도 추가하지 않습니다.

읽어오는 인터페이스는 시스템의 기본 경로를 따르며, 매 틱마다 다시 확인됩니다. 이더넷을 뽑으면 표시는 Wi-Fi로 넘어갑니다. 휴대폰에 테더링하면 그 연결로 넘어갑니다. 따로 설정할 것은 없으며, 신뢰할 수 없는 값은 추측하지 않고 0으로 표시됩니다.

신호 경로

1
커널 카운터
인터페이스별 송수신 바이트, 64비트, macOS가 이미 유지 중
2
초당 1회 측정
sysctl(NET_RT_IFLIST2), 상승된 권한 불필요
3
차이
이번 측정값에서 이전 값을 뺀 뒤, 경과 시간으로 나눈 값
4
표시
다운로드와 업로드를 메뉴 막대에 고정 너비로 표시

기본 경로를 따름

Wi-Fi 이더넷 핫스팟 VPN 터널

앱별 대역폭

지금 이 순간 어떤 앱이 데이터를 주고받고 있는지.

수치만으로는 무언가 일어나고 있다는 것만 알 뿐, 무엇인지는 알 수 없습니다. Pinned는 실시간 수치를 프로세스별로 나눠 보여주므로, "왜 연결이 바쁜지"에 추측이 아닌 답이 있습니다.

그림 2  /  프로세스별

개발자의 Mac에서 측정

  1. cloudflared 4.42 GB
  2. claude 163.1 MB
  3. node 54.6 MB
  4. mongod 52.2 MB

트래픽을 프로세스에 귀속시키는 일반적인 방법은 권한을 가진 헬퍼를 설치하는 것입니다. 상용 대안 제품은 root 권한의 LaunchDaemon: Mac이 켜질 때 함께 로드되어, 메뉴를 열든 열지 않든 상주합니다. 이는 가끔 훑어보는 목록 하나를 얻기 위해 root 권한으로 계속 실행되는, 시스템에 영구히 자리 잡은 부분입니다.

Pinned은 그렇게 하지 않습니다. 앱별 귀속 처리는 샌드박스 안에서, 앱 자체적으로. 권한 있는 헬퍼도, root 데몬도, 관리자 비밀번호도, 어떤 단계에서도 권한 요청 창도 없습니다.

이로부터 비용 모델이 자연스럽게 따라옵니다. Pinned는 앱별로 최소 3초 간격, 그것도 패널이 열려 있을 때만. 패널을 닫으면 동작이 멈춥니다. 닫혀 있는 동안에는 하위 프로세스가 0개임이 독립적으로 검증되었습니다. 보고 있지 않은 기능은 동작해서는 안 됩니다.

비용

권한
없음. 샌드박스 안에서 실행되며, 앱 외부에 설치되는 헬퍼는 없습니다.
권한 요청
설치 시 관리자 비밀번호가 필요 없고, 승인할 권한 대화상자도 없습니다.
간격
앱별 샘플링 간격은 최소 3초입니다.
패널이 열려 있음
샘플링이 동작합니다.
패널이 닫혀 있음
아무것도 없습니다. 하위 프로세스 0개, 독립적으로 검증되었습니다.
제거
앱을 휴지통으로 드래그하세요. 그 외에 제거할 것은 없습니다.

분명히 밝혀둘 만한 두 가지 한계가 있습니다. 3초 간격의 폴링으로는 두 샘플 사이에 시작하고 끝나는 전송을 포착할 수 없어, 짧은 버스트는 완전히 놓칠 수 있습니다. 또한 앱별 수치는 소켓 수준에서 수집되므로, 인터페이스 합계와 정확히 일치하지 않습니다.

데이터 한도

달력상의 월이 아니라, 청구 주기를 기준으로 계산됩니다.

"내 할당량이 얼마나 남았고, 주기가 끝날 때까지 버틸 수 있을까"는 네트워크 모니터가 답해야 할 질문입니다. 하지만 대부분은 그렇게 하지 않습니다.

한도를 설정하고 통신사 주기가 시작되는 날짜를 Pinned에 알려주세요. 그러면 모든 합계가 그 기간을 기준으로 계산되어, 12일에 시작하는 주기는 12일부터 다음 달 11일까지가 되며, 이는 청구서가 이미 하고 있는 계산과 같습니다.

까다로운 경우도 무시하지 않고 제대로 처리합니다. 주기 시작일이 31일이면 2월은 28일, 4월은 30일을 사용합니다, 31일이 있는 달에는 다시 31일로 돌아옵니다. 달력이 짧다는 이유로 주기가 한 달을 조용히 건너뛰는 일은 없어야 합니다.

한도를 초과할 것 같을 때, Pinned는 계산을 사용자에게 맡기지 않고 문장으로 알려줍니다:

이 속도라면 9월 4일 목요일에 한도에 도달합니다.

합계는 다음 기준으로도 기록됩니다 네트워크별, 그래서 호텔 Wi-Fi로 얼마나 썼는지, 실제로 돈이 나가는 휴대폰 핫스팟으로 얼마나 썼는지 확인할 수 있습니다. 알림은 선택한 한도 기준값에서 울리며, 다른 모든 알림과 동일한 유지 및 쿨다운 규칙을 따릅니다.

주기 처리

한도
사용자가 원하는 단위로 표시되는 할당량.
주기 시작일
통신사의 월이 시작되는 날짜. 1일부터 31일까지.
짧은 달
2월 28일, 4월 30일. 주기 시작일이 그 달의 마지막 날을 넘으면 마지막 날로 고정됩니다.
예측
현재 속도로 한도에 도달하는 날짜를 문장으로 알려줍니다.
네트워크별
데이터를 전달한 네트워크별로 나눈 합계.
알림
선택한 한도 비율에서, 쿨다운과 함께 알려줍니다.

응답성

연결이 빨라도 통화에는 쓸 수 없을 수 있습니다.

유휴 상태의 연결에서 측정한 지연 시간은 거의 쓸모가 없습니다. 화상 통화를 망치는 것은 부하가 걸렸을 때의 지연 시간이며, 그 수치를 알아내는 유일한 방법은 실제로 연결에 부하를 걸어 그 상태에서 측정하는 것입니다.

다운로드 수치는 파이프가 얼마나 많은 물을 나르는지를 나타냅니다. 통화가 신경 쓰는 것은 물 한 방울이 대기열에서 얼마나 기다리는가입니다. 대용량 전송이 라우터의 버퍼를 채우면, 모든 작은 패킷이 그 뒤에 줄을 서야 하므로 연결은 빠른 채로 있으면서도 통화는 동시에 끊깁니다. 이것이 버퍼블로트이며, 이 연결에서는 연결이 바쁠 때만 존재하는 53ms의 지연.

Pinned은 필요할 때 연결을 포화시키고, 포화된 상태에서 측정하여 부하 시 수치, 유휴 시 수치, 그 차이, 그리고 분당 왕복 횟수를 알려줍니다. 네 가지 수치 중 중요한 것은 그 차이입니다.

실행 시점

트리거
버튼을 눌렀을 때뿐입니다. 그것이 시작되는 유일한 방법입니다.
일정
일정은 없습니다. 스스로 실행되는 일도, 백그라운드에서 동작하는 일도 없습니다.
이유
이 테스트는 수치를 얻기 위해 일부러 연결을 포화시키므로, 앱이 사용자 몰래 해서는 안 되는 일입니다.
결과
유휴 지연 시간, 부하 시 지연 시간, 버퍼블로트, RPM.

사양

하는 일은 모두, 하지 않는 일은 하나도 빠짐없이.

01
메뉴 막대하루 종일 눈에 보이는 부분
레이아웃
한 줄 또는 두 줄.
아이콘 스타일
화살표, 삼각형, 점, 문자, 또는 아이콘 없음.
방향
다운로드만, 업로드만, 또는 둘 다.
타이포그래피
단위 표시 켜기/끄기. 글꼴 크기는 취향대로.
색상
단색, 또는 방향별로 원하는 색상.
스파크라인
선택 사항, 숫자 옆에 인라인으로 표시.
유휴 상태
아무것도 움직이지 않을 때는 흐려져서, 조용한 Mac은 조용해 보입니다.
너비
고정 너비 보장. 속도가 단위 경계를 넘어가도 항목이 흔들리지 않으며, 다른 메뉴 막대 항목을 밀어내는 일도 없습니다.
02
패널클릭 한 번이면
실시간
현재 다운로드 및 업로드 속도.
차트
대칭형 영역 차트: 다운로드는 선 위, 업로드는 선 아래에 표시. 선형, 로그, 또는 고정 최댓값.
앱별
어떤 프로세스가 데이터를 주고받는지, 순위가 매겨진 실시간 정보. 패널이 열려 있는 동안 최소 3초 간격으로 샘플링합니다. 헬퍼도, 권한 요청도 없습니다.
사용량
현재 청구 주기의 사용량 차트. 한도 대비 사용 비율과 네트워크별 분할을 함께 보여줍니다.
합계
이번 세션과 현재 기간.
품질
지연 시간, 지터, 패킷 손실, 그리고 버튼 하나로 실행하는 응답성 테스트.
인터페이스
MAC 주소, MTU, 링크 속도, IPv4, IPv6, DNS.
Wi-Fi
SSID, BSSID, RSSI, 노이즈, 채널, 대역, 대역폭, 보안, PHY 모드.
다운로드 업로드
선형, 자동 피크
03
알림정말 중요할 때만

값이 기준치를 넘으면 알림 그 상태가 유지될 때 선택한 시간 동안 지속될 때. 1초짜리 하락은 이벤트가 아닙니다.

감시 대상
다운로드 속도, 업로드 속도, 지연 시간, 또는 데이터 한도 사용량.
한도 기준값
선택한 주기 할당량 비율에서, 달력상의 월이 아니라 주기를 기준으로 계산됩니다.
그 외
연결이 끊어졌습니다.
조건
설정한 시간 동안 기준치보다 위 또는 아래에 머무를 때.
쿨다운
모든 규칙에는 쿨다운이 있어, 불안정한 연결이 알림을 도배하지 못합니다.
04
데이터 사용량월이 아니라 청구 주기 기준
세션
앱이 시작된 이후, 또는 마지막으로 초기화한 이후.
기간
일간, 주간 또는 월간 합계.
한도
할당량을, 다음을 기준으로 계산합니다: 통신사 주기가 시작되는 날짜월초가 아니라.
짧은 달
주기 시작일이 31일이면 2월은 28일, 4월은 30일을 사용합니다.
예측
현재 속도로 한도에 도달하는 날짜를, 한 문장으로.
네트워크별
사용한 각 네트워크로 얼마나 썼는지.
이월
지금부터 거슬러 세는 이동 구간이 아니라, 실제 경계를 기준으로 합니다.
05
단위어느 쪽 방식도 지원
단위
바이트 또는 비트. MB/s 또는 Mbps.
기수
1000 또는 1024. 네트워크 관례 또는 저장소 관례, 선택은 자유입니다.
06
언어메뉴뿐 아니라 전부
지원 언어
영어, 아랍어, 프랑스어, 독일어, 스페인어, 일본어, 중국어 간체.
전부
모든 화면, 모든 경고, 모든 알림, 그리고 VoiceOver가 읽어주는 내용까지. 영어 앱 위에 메뉴만 번역해 얹은 것이 아닙니다.
오른쪽에서 왼쪽으로
아랍어는 레이아웃 전체가 좌우 반전됩니다. macOS가 그렇게 하고, 앱은 이를 거스르지 않습니다.

가격

하루 종일 보는 부분이 바로 무료인 부분입니다.

Pinned은 무료로 다운로드할 수 있습니다. 메뉴 막대 표시, 모든 테마, 모든 외관 설정은 영구히 무료이며 기한이 없습니다. 유료 기능은 네 가지이며, 설치 후에야 알게 되는 대신 여기에 명시되어 있습니다.

00
무료체험판 기한도, 성가신 알림도 없습니다
메뉴 막대
트래픽을 전달하는 인터페이스에서, 고정 너비로 실시간 다운로드 및 업로드를 표시.
모양
일곱 가지 테마, 모든 색상, 아이콘, 레이아웃, 단위, 소수점 설정, 그리고 대비 보장.
패널
실시간 속도, 처리량 차트, 그리고 Wi-Fi 신호, 채널, 보안을 포함한 전체 연결 정보.
종료 시점
없습니다. 이 등급은 만료되지 않습니다.
01
Pinned Pro연간 USD 4.99
앱별
지금 이 순간 데이터를 주고받는 프로세스를, 실제 사용량 순으로 정렬.
데이터 한도
실제 청구 주기를 기준으로 계산하며, 초과할 것 같을 때는 평이한 문장으로 경고합니다.
응답성
부하 상태에서 측정한 지연 시간으로, 통화를 망치는 버퍼블로트를 확인할 수 있습니다.
알림 및 기록
속도, 지연 시간, 한도 사용량에 대한 유지 및 쿨다운 알림, 그리고 네트워크별 일일 합계.
결제
자동으로 갱신되며 Apple Account로 청구됩니다. 기간 종료 최소 24시간 전까지 Apple Account 설정에서 언제든지 해지할 수 있습니다. 이용 약관개인정보 처리방침.

Mac에 가벼운 부담

무언가를 대가로 치러야 하는 모니터는 손해 보는 거래입니다.

0.3–0.4% CPU
패널을 닫았을 때
33–67MB
상주 메모리

두 수치 모두 측정값이지, 목표치가 아닙니다. Apple silicon Mac에서 macOS 26을 실행하며, 패널을 닫은 상태로 Pinned가 초당 한 번 속도를 샘플링하여 측정했습니다. 메모리 범위는 실제 차이를 정직하게 보여줍니다. 패널을 한 번도 열지 않은 상태로 시작하면 33MB, 많이 사용한 뒤에는 67MB입니다. 이는 패널의 차트와 레이블이 시작 시가 아니라 실제로 요청받은 첫 순간에 만들어지고, 각 앱의 아이콘을 이름 옆에 표시하기 위해 불러오기 때문입니다. 상한값은 증가 추세가 아니라 한계치입니다. 여덟 번 연속으로 열고 닫으면 63, 64, 67, 67, 67, 67, 67, 67로 나타나, 일정 수준까지 올라간 뒤 멈춥니다. 패널을 열면 앱별 샘플러가 최소 3초 간격으로 추가되고, 닫으면 다시 0으로 돌아갑니다. 실제 수치는 설정과 하드웨어에 따라 약간 달라질 수 있습니다.

개인정보 보호

그 무엇도 Mac 밖으로 나가지 않으며, 이 문장 아래에 작은 글씨로 숨겨진 단서는 없습니다.

네트워크 모니터는 이례적으로 높은 신뢰를 요구받는 위치에 있습니다. Pinned가 정확히 무엇을 할 수 있는지 여기 명시합니다.

샌드박스화
Pinned은 macOS의 App Sandbox 안에서 실행됩니다. 처리량 카운터는 상위 권한이 전혀 필요 없습니다. 이를 읽는 것은 그저 평범한 커널 조회일 뿐입니다.
관리자 비밀번호 불필요
백그라운드 헬퍼도, root 데몬도, 커널 확장도 없으며, 앱 자체 외에는 아무것도 설치되지 않습니다. 휴지통으로 드래그하면 사라집니다.
앱별, 권한 요청 없이
트래픽 뒤의 앱을 식별하는 작업은 샌드박스 안에서 앱 스스로 처리합니다. 권한 있는 헬퍼도, root 데몬도, 권한 요청도 필요 없으므로 macOS가 이를 위해 무언가를 승인해 달라고 요청하는 일은 전혀 없습니다. 패널이 열려 있는 동안에만 최소 3초 간격으로 샘플링하고, 닫혀 있는 동안에는 아무 것도 하지 않습니다.
원격 측정 없음
분석도, 충돌 보고 서비스도, 사용량 집계도, 계정도 없습니다. Pinned는 사용자에 대해 아무것도 보고하지 않습니다. 애초에 아무것도 보고하지 않기 때문입니다.
공인 IP 주소 조회 꺼짐
기본적으로 꺼져 있습니다. 꺼진 상태로 두고 응답성 테스트 버튼도 누르지 않으면 Pinned는 외부로 어떤 요청도 보내지 않습니다. 켜면 선택한 새로고침 간격으로 딱 한 가지, 사용자의 공인 주소만 가져옵니다.
테스트는 버튼 하나
응답성 테스트는 의도적으로 트래픽을 보내는 유일한 기능입니다. 측정을 위해 연결을 포화시켜야 하기 때문입니다. 그래서 버튼을 눌렀을 때만 실행됩니다. 예약 실행도, 백그라운드 실행도, 통화 중에 조용히 연결을 포화시키는 일도 없습니다.
위치 정보, 이름을 위해서만
macOS는 위치 정보 접근 권한이 없는 앱에는 Wi-Fi 네트워크 이름을 알려주지 않습니다. 그래서 상세 패널에 SSID를 표시하려면 Pinned가 권한을 요청해야 합니다. 이것이 권한을 요청하는 유일한 이유이며, 아무것도 저장되거나 전송되지 않습니다. 거부하더라도 모든 속도, 합계, 차트, 인터페이스 정보는 그대로 작동합니다.

요구 사항

macOS 13 이상
Apple silicon 및 Intel