블로그로 돌아가기
·9분 분량·productdevbook

macOS에서 Chrome 탭별 대역폭을 확인하는 방법

macOS에서 Chrome의 대역폭 사용량을 탭 단위로 분해하는 방법입니다. 도우미 프로세스 문제, 이를 다루는 도구, 그리고 그 도구들이 놓치는 점까지 다룹니다.

  • App-specific
  • macOS
  • Bandwidth
  • Browser

40개의 Chrome 탭이 열려 있고, 팬이 돌고 있고, 명백한 범인 없이 시간 동안 600MB를 사용했습니다. 활성 상태 보기는 "Google Chrome Helper (Renderer)"라는 행을 38번 보여줍니다. 어느 것도 어떤 탭이 어떤 것인지 알려주지 않습니다. macOS에서 탭별 Chrome 대역폭을 보려면, Chrome이 탭을 프로세스에 어떻게 매핑하는지, 그리고 Chrome 자체 도구를 통해 데이터를 어떻게 읽는지, 더불어 도우미 행에 빠지지 않는 앱별 모니터를 알아야 합니다.

여기 실용적인 설정이 있습니다. 프로세스 모델에서 실행 가능한 단계까지.

macOS에서 Chrome의 프로세스 모델

Chrome은 설계상 다중 프로세스입니다. 각 탭 — 보통 — 자체 렌더러 프로세스에서 실행됩니다. 또한:

  • 브라우저 프로세스 — 메인 Chrome 프로세스, UI, 조정.
  • GPU 프로세스Google Chrome Helper (GPU), 합성.
  • 렌더러 프로세스Google Chrome Helper (Renderer), 사이트 프레임 그룹당 하나, Chrome의 프로세스 한도로 캡됨.
  • 플러그인 / 유틸리티 프로세스 — 네트워크 서비스, 저장소, 오디오 같은 것을 위해.
  • 확장 프로세스 — 대부분의 확장은 자체 렌더러 클래스 프로세스를 받습니다.

따라서 일반적인 Chrome 세션은 1개의 브라우저 + 1개의 GPU + 10~40개의 렌더러 + 한 줌의 유틸리티 프로세스를 가집니다. macOS에서 그 모든 것은 거의 동일한 이름 아래 활성 상태 보기에 별도 행으로 나타납니다.

이것이 "Mac에서 탭별 Chrome 대역폭"이 "Chrome 총 대역폭"보다 더 어려운 질문인 이유입니다. OS는 PID를 봅니다. 당신은 탭을 원합니다.

Mac에서 탭별 Chrome 대역폭이 프로세스에 어떻게 매핑되는가

Chrome은 사이트 격리 모델을 사용합니다. 같은 사이트(같은 eTLD+1, 예: *.youtube.com)의 두 탭은 종종 프로세스를 공유합니다. 다른 사이트의 탭은 다른 프로세스를 받습니다. 사이트 간 iframe도 자체 프로세스를 생성할 수 있습니다.

실용적 함의:

  • 다섯 개의 youtube.com 탭은 한두 개의 렌더러에 자리할 수 있습니다.
  • youtube.com, github.com, twitter.com, news.ycombinator.com, nytimes.com에 걸친 다섯 탭은 다섯 개의 다른 렌더러가 됩니다.
  • 탭 내부의 광고 iframe은 자체 프로세스를 가질 수 있습니다. 그 iframe의 대역폭은 사용자가 보는 탭이 "소유한" 것으로 보이지 않는 프로세스에 귀속됩니다.

도구 1: Chrome 작업 관리자 (Mac에서 Shift-Esc: 메뉴에 있음)

Chrome에는 내장된 작업 관리자가 있습니다. macOS에서, 기본적으로 Shift-Esc에 바인딩되어 있지 않습니다 — Chrome 메뉴 바에서 창 → 작업 관리자를 여세요. (또는 Chrome 버전에 따라 보기 → 개발자 → 작업 관리자를 사용하세요.)

작업 관리자는 Chrome 프로세스당 한 행을 보여주며, 다음을 포함합니다.

  • 작업 이름(종종 탭 제목 또는 확장 이름)
  • 메모리 발자국
  • CPU
  • 네트워크(현재 속도) — 보이지 않으면 열 헤더를 우클릭하고 "네트워크"를 활성화하세요.

이는 "Mac의 Chrome에서 탭별 대역폭"에 가장 가까운 네이티브 것입니다. 네트워크로 정렬하면 어떤 탭이 현재 가장 많은 데이터를 전송하고 있는지 볼 것입니다.

한계:

  • 누적 사용이 아니라 라이브 속도를 보여줍니다. 한 시간 전에 탭이 200MB를 폭발 로드했다면, 작업 관리자는 그것을 보여주지 않습니다 — 지금 흐르고 있는 것만.
  • 탭 간에 공유된 사이트는 탭별이 아니라 한 번 보여집니다.
  • 사이트 간 iframe은 암호 같은 이름으로 자체 작업으로 나열됩니다.

한계에도 불구하고, 작업 관리자는 적절한 시작점입니다.

도구 2: 도우미를 접는 앱별 모니터

Chrome 작업 관리자는 이 순간의 탭을 보여줍니다. 또한 종단적 뷰를 원합니다 — 지난 한 시간, 하루, 또는 일주일 동안 Chrome이 무엇을 했는지 — 40개의 Google Chrome Helper (Renderer) 행이 그림을 어지럽히지 않고.

ova는 메뉴 바에 자리 잡고, 약 1Hz로 앱별 속도를 샘플링하고, 모든 Chrome 도우미 PID를 단일 "Google Chrome" 행 아래로 접습니다. 결합된 속도, 최근 타임라인, 그리고 "오늘 얼마나 사용했는가"에 필요한 합계를 봅니다.

두 도구는 서로 보완합니다.

  • Chrome 작업 관리자: 지금 어떤 탭이 무거운가.
  • 접는 메뉴 바 모니터: Chrome이 총 얼마를 사용했고, 급증이 언제 일어났고, 일별로 어떻게 비교되는가.
도우미 프로세스 접기
ova는 모든 "Google Chrome Helper" PID를 상위 아래로 굴려서 40개의 별도 도우미 행 대신 "Chrome 12MB/s"를 읽게 합니다.

탭 누수를 찾는 5분 워크플로

Chrome이 무겁게 느껴질 때, 이것이 루프입니다.

  1. 메뉴 바에서 ova를 엽니다. 현재 Chrome 속도를 기록합니다. 0~50KB/s라면 누수 없음 — 다른 곳을 보세요.
  2. 적극적으로 브라우징하지 않는 동안 Chrome이 1MB/s 이상을 지속하고 있다면, Chrome의 작업 관리자를 엽니다.
  3. 네트워크로 내림차순 정렬. 상단 행이 범인입니다. 종종 잘못 일시 중지된 비디오 탭, 긴 폴링 웹소켓, 또는 폭주하는 확장입니다.
  4. 작업 이름을 기록합니다. 확장이라면 필요한지 결정하세요. 탭이라면 닫거나 그것이 하던 어떤 것이든 일시 중지하세요.
  5. 그 후 30초 동안 ova를 지켜봅니다. Chrome의 속도가 떨어져야 합니다. 그렇지 않다면 누수는 다른 곳에 있습니다.

워크플로를 익히면 60초 진단입니다.

조용한 Chrome 모니터를 메뉴 바에 추가하세요

ova는 결합된 도우미가 있는 단일 Chrome 행과 스크럽 가능한 타임라인을 보여줍니다 — 로컬, 서명, 약 3MB.

macOS용 다운로드

흔한 Chrome 대역폭 의외

사람들을 당황하게 만드는 몇 가지:

YouTube 사전 로딩

YouTube는 시청 중 다음 몇 초의 비디오를 끊임없이 미리 로드합니다. 일시 중지된 탭은 계속 핑합니다. (탭을 전환할 때) 백그라운드 자동 재생은 종종 계속 로드됩니다. 여러 YouTube 탭이 있다면, 일시 중지된 것조차 대역폭을 먹을 수 있습니다.

서비스 워커

현대 웹 앱은 탭이 포커스되어 있지 않을 때도 백그라운드에서 실행되는 서비스 워커를 설치합니다. Gmail, Twitter, Slack 웹, Notion 모두 이를 합니다. 주기적으로 업데이트를 가져옵니다. 탭을 닫으면 보통 멈추지만, 때때로 워커는 브라우저가 다시 시작될 때까지 지속됩니다.

긴 폴링 연결

일부 웹 앱은 가난한 사람의 웹소켓으로 HTTP 연결을 열어 둡니다. 트래픽은 작아 보이지만 일정합니다. 많은 탭에 걸쳐 쌓입니다.

확장

나쁜 확장은 영원히 매초 API를 폴링할 수 있습니다. 확장을 한 번에 하나씩 비활성화하고 모니터를 지켜보세요 — 시끄러운 것이 자신을 드러낼 것입니다.

동기화

Chrome 동기화는 책갈피, 기록, 비밀번호, 열린 탭을 Google 계정에 업로드합니다. 보통 작습니다. 큰 책갈피 가져오기 후, 측정 가능할 수 있습니다.

데이터 읽기: 정상 Chrome 속도가 무엇인가?

일부 기준선:

  • 유휴, 5~10개 탭: 결합 5~30KB/s.
  • 활성 브라우징, 비디오 없음: 페이지 로드 동안 급증, 그 사이에 유휴.
  • 1080p를 재생하는 한 YouTube 탭: 600KB/s ~ 1.5MB/s 지속.
  • 두 YouTube 탭: 대략 두 배.
  • 폴더의 Google Drive 동기화: 업링크를 포화시킬 수 있음.
  • 나쁜 폴링이 있는 웹 앱: 유휴조차 50~200KB/s 지속.

ova의 Chrome 행이 아무것도 하지 않는 동안 ~100KB/s 이상에 앉아 있다면, 무언가가 잘못된 것입니다. 작업 관리자를 열고 찾으세요.

사이트 격리와 사이트 간 iframe

대역폭을 추적할 때의 미묘함: "있는" 탭이 바이트를 옮기는 것이 아닐 수 있습니다. 광고 iframe, 내장된 YouTube 플레이어, Disqus 댓글 위젯 — 각각 사이트 격리 아래 자체 프로세스가 될 수 있습니다.

Chrome의 작업 관리자에서, 그것들은 Subframe: https://example-cdn.com 같은 이름으로 나타납니다. 때때로 상위 탭보다 더 많이 소비하는 서브프레임을 볼 것입니다. 그것은 추적 픽셀이나 분석 SDK가 작동하는 것이고, 광고 차단기를 고려해 볼 힌트입니다.

기능을 비활성화하지 않고 Chrome 대역폭 절약

바늘을 움직이는 몇 가지 Chrome 설정:

1. 메모리 절약(이전에는 탭 폐기)

설정 → 성능 → 메모리 절약. 비활성 탭을 폐기합니다. 다시 클릭하면 탭이 다시 로드되며 대역폭을 사용하지만, 그 대신 탭이 백그라운드에서 0을 사용합니다. 대부분의 워크로드에 순수 승리입니다.

2. 페이지 사전 로드: 끄기

설정 → 성능 → 페이지 사전 로드 → 사전 로드 없음. 기본적으로 Chrome은 방문할 것이라고 예측하는 페이지를 사전 로드합니다. 끄면 추측 다운로드가 멈춥니다.

3. 하드웨어 가속

대역폭에 직접 영향을 미치지 않지만 비디오 재생 동안 CPU를 줄여, 네트워크 스택이 덜 열심히 일하게 합니다.

4. 서드파티 쿠키 차단

설정 → 개인정보 및 보안 → 서드파티 쿠키 → 차단. 일부 추적기 트래픽을 줄입니다. 일부 사이트가 깨집니다 — 사이트별로 확인하세요.

5. uBlock Origin 또는 비슷한 것

진짜 광고/추적기 차단기는 일반적인 브라우징에서 단연 가장 큰 대역폭 절약기입니다. 4MB를 로드한 페이지가 800KB로 떨어집니다. 이전에 사용한 적이 없다면 모니터의 효과가 극적입니다.

활성 상태 보기가 Chrome 작업 관리자와 동의하지 않을 때

이를 자주 보게 됩니다.

  • 활성 상태 보기가 Google Chrome Helper (Renderer)를 총 50MB 받음으로 보여줍니다.
  • Chrome 작업 관리자가 같은 렌더러를 지금 "0 KB/s"로 보여줍니다.

둘 다 정확합니다. 활성 상태 보기는 프로세스가 시작된 이후 누적입니다. 작업 관리자는 현재 속도입니다. 탭별 누적을 얻으려면, 시간에 걸쳐 집계하고 PID를 제목에 일관되게 매핑하는 도구가 필요합니다 — 이는 Chrome이 오래된 것이 닫힐 때 새 탭을 위해 프로세스를 재사용하기 때문에 어렵습니다.

실용적 타협: Chrome 총 누적에는 ova를 사용하고, 탭별 라이브 속도에는 작업 관리자를 사용하고, 정확한 탭별 누적이 Chrome에서 측정하기 정말로 어렵다는 것을 받아들이세요.

마무리

Mac에서 탭별 Chrome 대역폭을 보고 싶은 사용자는 두 질문으로 나뉩니다. 지금 무엇이 무거운가(Chrome의 작업 관리자 사용)와 지난 한 시간 동안 Chrome이 무엇을 사용했는가(도우미 접기가 있는 앱별 모니터 사용). OS는 프로세스별을 제공하고, Chrome은 작업별을 제공하며, 조합이 필요한 것을 알려줍니다.

ova를 열고, 옆에 Chrome의 작업 관리자를 열고, 브라우징하는 동안 둘 다 5분 지켜보세요. 비용을 들이고 있다는 것을 깨닫지 못한 적어도 한 탭이나 확장을 발견할 것입니다 — 대부분의 사람이 그렇습니다.