macOS에서 실시간 네트워크 사용량 확인하는 방법
macOS에서 실시간 네트워크 사용량을 확인하는 방법입니다. 왜 흔한 방식들은 오해를 불러오는지, 한눈에 들어오는 속도 표시를 어떻게 만들지 다룹니다.
- macOS
- Bandwidth
- Network monitoring
- Tutorial
"실시간"은 다른 도구에 다른 것을 의미하는 단어 중 하나입니다. 거래 앱은 마이크로초를 의미합니다. 날씨 앱은 "지난 5분에"를 의미합니다. macOS에서 실시간 네트워크 사용량을 보고 싶을 때 — 갇힌 업로드를 디버깅하거나, 설정 변경이 효력이 있었는지 확인하거나, 어떤 탭이 대역폭을 두드리고 있는지 찾기 위해 — 사람 규모의 이벤트를 추적할 만큼 충분히 빠른 업데이트가 필요합니다. 약 1초마다가 적절한 지점입니다. 더 빠르면 시끄러워집니다. 더 느리면 급증을 놓칩니다.
이는 macOS가 출시하는 도구로 거기 도달하는 방법, 각각이 실제로 무엇을 보여주는지, 그리고 "실시간"이라는 용어가 중요한 트레이드오프를 숨기는 곳의 투어입니다.
"실시간"이 실제로 요구하는 것
실시간으로 느껴지는 네트워크 모니터는 세 가지를 해야 합니다.
- 커널을 충분히 자주 샘플링. macOS는
nettop이 사용하는 같은 메커니즘(PF_SYSTEM/PF_SYSTEM_NDR 소켓, 경로 정보, 프로세스 회계)을 통해 프로세스별 바이트 카운터를 노출합니다. 0.1Hz로 샘플링하면 지연된 느낌입니다. 10Hz로 샘플링하면 CPU가 급증합니다. 약 1Hz가 표준입니다. - 델타 계산. 원시 카운터는 프로세스 시작 이후 누적 바이트입니다. 속도를 얻으려면 이전 샘플을 현재 것에서 빼고 경과 시간으로 나눕니다.
- 결과 평활화. 네트워크 트래픽은 초 미만 시간 척도에서 폭발적입니다. 1초 창은 이미 그것의 대부분을 평활화하지만, UI는 일반적으로 표시된 숫자가 모든 틱마다 0에서 50MB/s로 그리고 다시 0으로 점프하지 않도록 추가 이동 평균을 적용합니다.
평활화하지 않는 도구는 떨리는 느낌입니다. 너무 적극적으로 평활화하는 도구는 지연된 느낌입니다. 적절한 지점은 2~3 샘플 지수 평균이 있는 1초 샘플입니다.
도구 1: 활성 상태 보기
활성 상태 보기의 네트워크 탭은 몇 초마다 업데이트됩니다. 핵심 열:
- 보낸 바이트 / 받은 바이트 — 프로세스가 시작된 이후 누적.
- 보낸 패킷 / 받은 패킷 — 같은 것, 패킷으로.
- 초당 읽은 바이트 — 초당 속도(보기 → 열을 통해 이 열을 활성화해야 할 수 있음).
하단 패널은 시스템 전체 속도 그래프를 보여줍니다. 그래프를 패킷과 데이터 사이에서 전환할 수 있습니다.
활성 상태 보기가 잘하는 것:
- 실행 이후 가장 많은 누적 데이터를 사용한 사람으로 빠른 시각적 정렬.
- 합리적인 시스템 전체 속도 그래프.
잘하지 않는 것:
- 업데이트 속도. 기본 새로 고침은 5초입니다(보기 → 업데이트 빈도를 통해 구성 가능). 5초에서 짧은 급증을 완전히 놓칩니다.
- 도우미 접기. Chrome이 7개 이상의 별도 프로세스로 나타납니다. 정신적으로 더해야 합니다.
- 기록. 닫으면 속도 데이터가 사라집니다.
도구 2: nettop
nettop은 macOS가 출시하는 실시간 프로세스별 네트워크 모니터에 가장 가까운 것입니다. 가장 유용한 호출:
nettop -P -t wifi -d-P는 행당 프로세스 이름을 보여줍니다(그렇지 않으면 PID로 그룹화되며, 읽을 수 없습니다).-t wifi는 Wi-Fi 인터페이스로 필터링합니다. 이더넷에는-t wired를 사용하세요.-d는 초당 델타를 보여줍니다. 이 플래그 없이는 누적 합계를 보고 머릿속에서 빼야 합니다.
또한 단일 샘플을 출력하고 종료하기 위해 -l 1을 전달할 수 있는데, 스크립트에 유용합니다.
중요한 열:
bytes_in/bytes_out— 마지막 샘플 창에서 받고 보낸 바이트.interface— 어느 NIC가 트래픽을 운반하는지.state— TCP 상태(Established, TimeWait, Listen 등).
nettop은 활성 상태 보기보다 더 빠르고, 더 세분화되어 있고, 무엇이 일어나고 있는지에 대해 더 정직합니다. 단점:
- 터미널 UI. 그것에 창을 전용하지 않고는 다른 일을 하면서 보이게 유지할 수 없습니다.
- 기록 없음. nettop을 종료하고, 마지막 30초를 잃습니다.
- 도우미 접기 없음. Chrome의 도우미가 별도 행으로 나타납니다.
- 업데이트 속도 기본값 1초. 더 빠르면 더 많은 터미널 깜박임.
도구 3: 메뉴 바 모니터
메뉴 바 대역폭 모니터가 존재하는 이유는 "실시간"이 환경일 때 가장 유용하기 때문입니다. 그것에 대해 생각하지 않고 — 앱을 열거나, 탭을 전환하거나, 명령을 실행하지 않고 — 속도를 보고 싶습니다. 메뉴 바는 macOS에서 이 기준을 충족하는 유일한 UI 표면입니다: 항상 보임, 거의 화면 비용이 없음, 한 번의 클릭으로 확장.
ova는 이를 중심으로 만들어졌습니다. 약 1Hz로 샘플링하고, 메뉴 바에 현재 위/아래 속도를 표시하며, 클릭 시 현재 대역폭으로 정렬된 앱별 목록으로 확장됩니다. 도우미 프로세스(Slack Helper, Google Chrome Helper, Discord Helper 등)가 부모 앱 아래로 다시 접혀, 행에 걸쳐 정신적으로 합산할 필요가 없습니다.
메뉴 바 모니터가 다른 어떤 것도 제공하지 않는 다른 것: 기록. 실시간은 그림의 절반입니다. 다른 절반은 "노트북이 뜨거워졌던 어제 오후 2시 47분에 속도가 어떠했는가?"입니다. 로컬 시계열을 유지하는 모니터가 그것에 답할 수 있습니다. nettop은 할 수 없습니다.
메뉴 바의 실시간
1Hz로 샘플링하고 기록을 로컬에 저장하는 앱별 대역폭 모니터. ~3MB, 서명, 계정 없음.
대역폭이 아니라 지연 시간은?
흔한 혼동: "실시간 네트워크 사용량"은 때때로 초당 바이트를 의미하고 때때로 패킷 왕복 지연 시간을 의미합니다. 그것들은 다른 문제이고 다른 도구입니다.
- 대역폭(바이트/초): 활성 상태 보기, nettop, ova.
- 지연 시간(ms 왕복):
ping,mtr,iputils, 지터와 패킷 손실을 보여주는 네트워크 유틸리티 도구.
화상 통화가 끊긴다면, 대역폭이 문제가 아닐 수 있습니다 — 지연 시간이나 패킷 손실입니다. 대역폭 도구는 그것을 알려주지 않을 것입니다.
빠른 지연 시간 점검을 위해:
ping -c 30 1.1.1.1이는 30개의 ICMP 에코를 보냅니다. 출력은 최소/평균/최대 왕복과 패킷 손실을 보여줍니다. 일반적인 가정 사용에 30ms 미만에 0% 손실은 건강합니다.
실시간 모니터링의 트레이드오프
정밀도를 신경 쓴다면 알 만한 몇 가지:
샘플링 대 카운팅
nettop과 대부분의 메뉴 바 도구는 샘플링합니다. 그것은 샘플 사이의 200ms 창 안에서 열고, 100KB를 전송하고, 닫는 TCP 연결이 모니터에 나타나지 않을 수 있다는 것을 의미합니다 — 실행 합계의 일부로 다음 샘플에 접힙니다. 대부분의 "무거운 앱 찾기" 사용 사례에는 괜찮습니다. 트래픽 포렌식의 경우 tcpdump나 Wireshark 같은 패킷 캡처 도구를 사용하세요.
프로세스별 대 인터페이스별
프로세스별 카운터는 macOS의 프로세스 회계 계층에 의해 집계됩니다. 설정된 TCP/UDP 흐름에 정확하지만 일부 커널 수준 트래픽(KEXT 구동 VPN 터널, 특정 네트워크 확장)을 놓칩니다. netstat -ib의 인터페이스 수준 카운터는 이 오버헤드 때문에 항상 프로세스별 카운터의 합보다 더 높을 것입니다.
Wi-Fi 대 이더넷
Wi-Fi와 이더넷이 둘 다 연결되어 있다면, 모든 모니터는 어느 것을 보고할지 알아야 합니다. 활성 상태 보기는 기본적으로 합산합니다. nettop은 -t 플래그가 있습니다. ova는 그것들을 별도로 보여주므로 트래픽이 선을 통해 가는지 공중을 통해 가는지 알 수 있습니다.
"실시간"이 과할 때, 그리고 그렇지 않을 때
실시간 모니터링은 다음일 때 적절한 도구입니다.
- 갇힌 전송을 디버깅하고 있습니다.
- 설정 변경이 작동했는지 검증하고 있습니다.
- 폭주하는 프로세스를 찾으려고 합니다.
- 테더링되어 있고 데이터를 무엇이 먹고 있는지 알아야 합니다.
다음일 때 잘못된 도구입니다.
- 월간 데이터 합계를 알고 싶음 — 대신 일별 또는 주별 집계를 사용하세요.
- 임계값 위반에 대해 알림을 원함 — 초당이 아니라 일별 한도를 설정하세요.
- 어제 일어난 일을 조사하고 있음 — 라이브가 아니라 과거 뷰를 사용하세요.
좋은 모니터는 두 모드를 모두 제공합니다. ova는 그렇습니다 — 라이브 메뉴 바에 더해 과거 트래픽의 스크럽 가능한 타임라인. 두 뷰는 다른 질문에 답하며, 그것들 사이를 왔다갔다 하는 자신을 발견할 것입니다. 라이브 뷰는 지금 무엇이 일어나고 있는지 알려줍니다. 과거 뷰는 흥미로운 무언가가 시작될 때 무엇이 일어나고 있었는지 알려줍니다. 어느 뷰만으로는 일반적인 주가 Mac 사용자에게 던지는 대역폭 질문의 전체 세트에 충분하지 않습니다.
자주 나오는 패턴: 라이브 뷰에서 급증을 알아채지만, 조사하기 위해 클릭할 때쯤이면 급증이 사라졌습니다. 과거 뷰가 구해줍니다. 마지막 60초를 보고, 방금 켜진 앱별 행을 찾으면, 라이브 그림이 기준선으로 돌아왔어도 답이 있습니다.
마무리
macOS에서 실시간 네트워크 사용량을 보려면:
- 빠른 점검: 터미널의
nettop -P -d. 내장, 설치 없음. - 시스템 뷰: 활성 상태 보기 → 네트워크 탭. 누적만, 새로 고침 제한.
- 항상 보이는 앱별 속도: ova 같은 메뉴 바 모니터. 1초 샘플링, 도우미 접기, 로컬 기록.
실시간은 환경일 때 가장 유용합니다. "항상 켜진"의 비용은 거의 0이어야 합니다 — CPU의 1% 미만, 텔레메트리 없음, 클라우드 왕복 없음. ova는 약 3MB, macOS 14 이상에서 실행, Apple Silicon과 Intel을 지원, 1Hz로 샘플링하며, 모든 데이터 바이트를 Mac에 유지합니다. 일회성 결제, 평생 업데이트, 14일 환불.