Mac의 메모리가 부족하게 느껴져 Activity Monitor를 열었더니, 메모리 탭이 Google Chrome Helper (Renderer)라는 항목 더미로 가득 차 있습니다 — 여덟 개, 열두 개, 때로는 스무 개가 저마다 500MB에서 2GB씩 갉아먹고 있죠. 아니면 Safari를 쓰고 있는데 Safari Web Content 아래로 똑같은 광경이 펼쳐집니다. 아무거나 닫으면 정작 사용 중이던 탭을 잃기 딱 좋습니다. 이 가이드는 왜 최신 브라우저가 수십 개의 helper 프로세스를 띄우는지, 그리고 더 중요하게는 특정 helper를 그것이 나타내는 탭, 사이트, 확장 프로그램까지 되짚어 정확히 맞는 것을 닫는 방법을 설명합니다.
빠른 답변
최신 브라우저는 다중 프로세스 아키텍처를 사용합니다. 메인 UI를 위한 프로세스 하나에, 각 탭, 탭 안의 각 교차 사이트 iframe, 각 확장 프로그램, 그리고 몇 가지 브라우저 전역 서비스(GPU, 네트워크)마다 별도의 helper 프로세스가 있습니다. 따라서 1.5GB를 쓰는 Google Chrome Helper (Renderer)는 버그가 아니라 탭 하나, 교차 사이트 프레임 하나, 확장 프로그램 하나, 또는 브라우저 서비스 하나가 1.5GB를 붙들고 있는 것입니다. Safari Web Content, Microsoft Edge Helper, Arc Helper, Brave Browser Helper 등도 마찬가지입니다. 높은 메모리 사용량은 대개 무거운 웹 앱(Gmail, Google Docs, Figma, Slack web, ChatGPT, Claude), 잊고 있던 스트리밍 영상이나 WebGL 탭, 또는 메모리 누수가 있는 확장 프로그램에서 비롯됩니다.
범인을 찾는 가장 빠른 경로:
- Chrome / Edge / Arc / Brave / Vivaldi / Opera의 경우: 브라우저에 내장된 작업 관리자를 창 메뉴 → Task Manager로 엽니다(일부 Chromium 빌드는 기본 메뉴 → 도구 더보기 → Task Manager에서도 제공). Shift+Esc 단축키는 Windows와 Linux에서는 작동하지만 macOS에서는 신뢰하기 어렵습니다 — 메뉴 경로를 쓰세요. 모든 탭과 확장 프로그램을 탭 제목 또는 확장 프로그램 이름과 함께 메모리순으로 나열합니다. 프로세스를 탭 제목에 직접 매핑해 주는 유일한 내장 도구입니다.
- Safari의 경우: 이에 상응하는 탭별 작업 관리자가 없습니다. macOS 자체의 Activity Monitor → 메모리 탭에서
Safari Web Content항목들을 보세요 — 무거운 항목이 있다는 것은 확인할 수 있지만 어느 탭이 어느 것인지는 알 수 없습니다. 탭을 하나씩 닫는 것이 현실적인 차선책입니다. - 여러 브라우저를 동시에 보거나, 몇 시간에 걸쳐 자라난 누수를 잡아내려면: ProcXray는 모든 브라우저의 프로세스를 하나의 화면에서 메모리순으로 정렬하고, 각 helper의 실행 인자를 드러내며(그래서 renderer / GPU / 확장 프로세스 / 유틸리티를 한눈에 구별할 수 있습니다), 프로세스별 메모리 기록을 제공합니다. 탭 제목은 보여주지 않습니다 — 그것은 위에서 말한 브라우저 자체의 작업 관리자가 여전히 올바른 첫 번째 출발점입니다.
Google Chrome Helper(와 Safari Web Content)란?
웹 브라우저는 십 년이 넘도록 단일 프로세스 프로그램이 아니었습니다. 모든 최신 브라우저는 두 가지 이유로 작업을 여러 전용 프로세스로 나눕니다. 보안 격리(한 탭이 다른 탭의 메모리를 읽지 못함)와 충돌 격리(한 탭이 충돌해도 브라우저 전체가 무너지지 않음)입니다.
Chrome과 Chromium 기반 브라우저(Chrome, Edge, Arc, Brave, Vivaldi, Opera)는 대체로 같은 모델을 사용합니다. macOS에서는 다음을 볼 수 있습니다.
- 메인 브라우저 앱(
Google Chrome,Microsoft Edge,Arc등) — UI, 탭 막대, 주소 표시줄 Google Chrome Helper (Renderer)— 탭 또는 사이트 프레임당 하나로, 실제 웹 페이지가 실행되는 곳Google Chrome Helper (GPU)— 하드웨어 가속 그리기를 처리하는 프로세스 하나Google Chrome Helper (Plugin)— 플러그인 / 유틸리티 작업용(PDF 뷰어 등)Google Chrome Helper— 일반 유틸리티 helperGoogle Chrome Helper (Network Service)— 최신 빌드의 네트워킹
정확한 이름은 브라우저마다 조금씩 다르지만(Edge는 “Microsoft Edge Helper”, Brave는 “Brave Browser Helper”, Arc는 “Arc Helper”), 아키텍처는 동일합니다.
Safari는 Apple의 WebKit과 자체 명명 체계를 사용합니다.
Safari— 메인 브라우저 UISafari Web Content— 탭 또는 사이트당 하나(렌더러)Safari Networking— 네트워킹 프로세스com.apple.WebKit.WebContent— 기반이 되는 WebKit 렌더러 프로세스(macOS 버전과 탭 로딩 방식에 따라Safari Web Content대신 이 이름으로 나타나기도 함)com.apple.WebKit.Networking과com.apple.WebKit.GPU— 네트워킹 및 GPU 프로세스
어느 경우든 규칙은 같습니다. “Helper (Renderer)” 또는 “Web Content” 항목 하나는 탭 하나, 교차 사이트 프레임 하나, 확장 프로그램 하나, 또는 브라우저 서비스 하나에 대응합니다. 하나가 2GB의 메모리를 보인다면, 그중 하나가 2GB를 붙들고 있는 것입니다.
백분율에 대한 참고: Activity Monitor에서 CPU 100%는 CPU 코어 하나 전부에 해당합니다. 멀티코어 Mac에서는 단일 helper가 100%를 훨씬 넘게 표시할 수 있습니다. 메모리 보기에도 helper별 동일한 논리가 적용됩니다 — 각 줄은 독립적입니다.
관점의 전환: helper는 렌더러이며, 대개 한 탭을 위한 것
이 문제에서 가장 유용한 관점의 전환은 다음과 같습니다.
Chrome Helper (Renderer)는 일반적인 “Chrome 프로세스”가 아니라 특정 렌더러입니다. 대개 탭 하나를 위한 것이지만, 탭 안의 교차 사이트 iframe 하나일 수도, 확장 프로그램 하나일 수도 있습니다. 진단 질문은 “그중 어느 것인가?”입니다.
helper를 메모리순으로 정렬하는 것은 대체로 탭을 메모리순으로 정렬하는 것이지만, 단서가 붙습니다. Activity Monitor는 똑같이 생긴 “Google Chrome Helper (Renderer)” 항목들의 목록을 보여줄 뿐, 어느 것이 당신의 Gmail 탭이고 어느 것이 이틀 전에 닫는 걸 잊은 그 YouTube 탭인지 알 뾰족한 방법이 없습니다.
이를 들리는 것보다 더 까다롭게 만드는 세 가지:
- helper는 단일 프로세스 앱의 창들처럼 메모리를 공유하지 않습니다. 탭 하나를 닫으면 그 helper의 메모리가 실제로 해제되지만, 그 절감은 helper가 종료된 뒤에야 나타납니다.
- 사이트 격리란 눈에 보이는 한 “탭”이 여러 helper 프로세스에 매핑될 수 있음을 뜻합니다 — 최상위 프레임용 하나에, 교차 사이트 iframe(광고, 임베드된 YouTube, 소셜 위젯)마다 하나씩이 더해집니다. 높은 메모리는 메인 페이지가 아니라 광고 iframe에서 올 수도 있습니다.
- 확장 프로그램도 저마다 자체 helper에서 실행됩니다. 무거운 “renderer” 항목이 사실은 보이는 페이지가 전혀 아니라 누수가 있는 확장 프로그램일 수 있습니다.
이 글의 나머지는 helper를 올바른 위치에 효율적으로 매핑하는 방법에 관한 것입니다.
브라우저 helper에서 높은 메모리를 유발하는 원인
흔한 일곱 가지 원인을, 대략 빈도순으로 정리합니다.
1. 무거운 웹 앱
단연 가장 큰 원인입니다. Gmail, Google Docs, Google Sheets, Figma, Notion, Linear, Slack web, Discord web, Microsoft 365 웹 앱, ChatGPT, Claude, 그리고 장시간 웹 세션을 유지하는 모든 채팅·AI 도구는 몇 시간 사용 후 탭당 500MB에서 수 GB에 으레 머무릅니다. 첨부 파일, 메시지 기록, 문서 상태, 미리 렌더링된 UI를 메모리에 캐싱하기 때문입니다.
2. 백그라운드 탭의 스트리밍 영상과 음악
YouTube, Twitch, Netflix(브라우저), Spotify web, Apple Music web — 각각 재생 중에는 수백 MB이며, 일시정지 상태에서도 상당한 버퍼를 메모리에 들고 있을 수 있습니다.
3. WebGL, 캔버스, 3차원 콘텐츠
three.js 장면, 브라우저 기반 AI 이미지 생성(Stable Diffusion, Midjourney web), 3D 지도 뷰어(지형이 있는 Google Maps, Mapbox 데모), 브라우저 게임, 브라우저 내 CAD 도구 모두 큰 GPU 및 CPU 버퍼를 할당합니다.
4. 누수나 무한 캐시가 있는 확장 프로그램
오래된 광고 차단기, 탭 관리자, 스크린샷 도구, “AI 어시스턴트” 확장 프로그램이 흔한 범인입니다. 본 적 있는 모든 탭에 대한 참조를 붙들고 있는 확장 프로그램은 끝없이 자랍니다. Chrome에서는 각 확장 프로그램도 자체 helper 프로세스에서 실행되므로, 누수가 있는 확장 프로그램은 탭을 닫아도 결코 내려가지 않고 꾸준히 자라는 helper로 나타납니다.
5. 잊힌 탭
가장 민망한 원인입니다. 일주일에 걸쳐 쌓인 여든 개의 열린 탭, 그중 절반은 여전히 실행 중인 웹 앱에 저마다 수백 MB를 들고 있습니다. Memory Saver / Sleeping Tabs를 켜두지 않았다면 브라우저는 이를 자동으로 회수하지 않습니다.
6. 메모리를 해제하지 않은 충돌한 탭
가끔 helper가 탭은 죽었으나 프로세스는 종료되지 않은 상태로 멈춥니다. helper를 닫거나 브라우저를 재시작할 때까지 메모리는 계속 할당된 채로 남습니다.
7. 회귀(regression)가 있는 브라우저 또는 확장 프로그램 업데이트
대부분의 주요 브라우저는 어느 시점엔가 메모리 회귀를 내보내며, 대개 한두 릴리스 안에 수정됩니다. 업데이트 직후 메모리 사용량이 갑자기 나빠지고 다른 사용자들의 보고와 일치한다면, 그것이 원인입니다.
진짜 범인을 찾는 법
Activity Monitor의 메모리 탭이 자연스러운 출발점이지만, helper를 탭 매핑 없이 똑같이 생긴 항목들로 보여줍니다. 메모리를 많이 쓰는 helper에서 그것을 소유한 페이지로 가는 방법이 필요합니다.
1단계: Chromium 기반 브라우저는 내장 작업 관리자를 연다
Chrome, Edge, Arc, Brave, Vivaldi, Opera의 경우 이것이 첫 출발점이며 대부분의 사례를 해결합니다. macOS에서 믿을 만한 경로는 창 메뉴 → Task Manager입니다(일부 브라우저는 기본 메뉴 → 도구 더보기 → Task Manager에도 노출). Windows와 Linux의 Shift+Esc 단축키는 Mac에서 신뢰하기 어려우니 의존하지 마세요.
모든 탭, 확장 프로그램, helper를 탭 제목 또는 확장 프로그램 이름과 함께 메모리순으로 정렬한 목록이 나옵니다. 한 줄을 선택하고 프로세스 종료를 클릭하면 그 탭, 확장 프로그램, 또는 helper 프로세스가 종료됩니다 — 탭 줄을 닫으면 탭이 닫히고, 확장 프로그램 줄을 닫으면 그 확장 프로그램이 멈추며, helper 전용 줄을 닫으면 프로세스가 종료됩니다(서비스 helper는 브라우저가 자동으로 다시 띄웁니다).
helper 프로세스를 탭 제목에 직접 매핑해 주는, macOS의 유일한 내장 도구입니다.
2단계: Safari는 macOS Activity Monitor로 돌아간다
Safari는 Chrome의 탭별 작업 관리자에 해당하는 것을 제공하지 않습니다. 현실적인 선택지는 다음과 같습니다.
- macOS Activity Monitor → 메모리 탭. 메모리순으로 정렬하고
Safari Web Content항목들을 보세요. 무거운 것이 있다는 것은 확인할 수 있지만, 거기서 어느 탭이 어느 것인지는 알 수 없습니다. 탭을 하나씩 닫으며 메모리가 떨어지는지 지켜보는 것이 Safari에서 범인을 찾는 현실적인 방법입니다. - 의심되는 특정 페이지를 위한 Web Inspector. 개발자 메뉴를 활성화하고(설정 → 고급 → “웹 개발자용 기능 표시”), 의심되는 탭을 활성화한 뒤 개발자 → Web Inspector 보기 → 타임라인을 열어 그 페이지 자체의 JavaScript 힙과 메모리 사용을 살펴보세요. 이는 한 페이지에 대한 심층 분석이지 탭별 순위가 아닙니다.
Safari에는 탭 간 메모리 순위가 내장돼 있지 않습니다 — 이는 이 가이드의 누락이 아니라 브라우저의 실제 한계입니다.
3단계: 브라우저 간 가시성이나 과거 데이터가 필요할 때 ProcXray를 쓴다
ProcXray는 내장 작업 관리자가 다루지 못하는 세 가지 상황에서 도움이 됩니다.
- 여러 브라우저를 동시에 열어 두고(예: Chrome에 Safari에 Edge) 하나의 정렬된 화면에서 비교하고 싶을 때.
- 각 브라우저의 작업 관리자에 단축키로 일일이 들어가지 않고도 helper 하위 유형을 한눈에 구별하고 싶을 때 — renderer 대 GPU 대 확장 프로세스 대 유틸리티.
- 몇 시간에 걸쳐 자라난 누수를 잡아내기 위해 과거 메모리 데이터가 필요할 때(내장 작업 관리자는 현재 스냅숏만 제공).
이 문제에 중요한 기능들:
- Command Line 보기는 각 helper의 전체 실행 인자를 드러냅니다. Chrome helper의 경우
--type=renderer,--extension-process,--renderer-client-id, 샌드박스 유형,--enable-features플래그가 드러나며 — 무거운 항목이 일반 렌더러인지, 확장 프로그램의 백그라운드 프로세스인지, GPU helper인지, 유틸리티 프로세스인지 한눈에 알기에 충분합니다. 인자에는 보통 탭 제목이나 페이지 URL이 포함되지 않습니다. 그 세부 정보는 브라우저 자체의 작업 관리자(1단계)가 여전히 올바른 도구입니다. - Process Tree는 메인 브라우저를 모든 helper의 부모로 보여주므로, 브라우저별 helper 개수를 빠르게 세고, 확장 프로세스 트리를 따로 보고, 고아 helper를 찾아낼 수 있습니다.
- 프로세스별 메모리 열은 모든 프로세스를 — 동시에 실행 중인 모든 브라우저의 helper를 포함해 — 물리 메모리, 압축 메모리, 또는 메모리 압박 기여도로 정렬합니다.
- Window Spy Picker는 보이는 창을 소유한 브라우저 앱을 식별합니다. macOS 창 수준에서 소유자는 메인 브라우저 프로세스(특정 렌더러가 아님)이므로, 이는 특정 iframe이나 확장 프로그램까지 짚어내기보다 “이게 어느 브라우저지 — Chrome, Edge, Arc?”를 위한 것입니다.
- Resource History는 프로세스별 메모리 데이터를 몇 시간치 거슬러 훑어볼 수 있습니다. 해당 탭을 쓰지도 않았는데 여섯 시간 동안 메모리가 꾸준히 자란 helper는 교과서적인 누수 신호이며, 그것을 볼 수 있는 유일한 방법은 과거 데이터입니다.
Activity Monitor가 어디서 부족한지에 대한 더 충실한 비교는 ProcXray vs Activity Monitor를 참고하세요.
4단계: 의심되는 탭을 닫는 A/B 테스트
가설이 생기면 — 특정 탭, 확장 프로그램, 또는 사이트 — 그것을 닫고 helper가 종료되는지 지켜보세요. 그것이 붙들고 있던 메모리는 몇 초 안에 시스템으로 돌아옵니다. 메모리가 떨어지지 않으면 닫은 helper가 실제 범인이 아닌 것이니, 다음 것을 시도하세요. Safari에는 탭 간 순위가 내장돼 있지 않으므로, 이것이 Safari 탭을 좁혀가는 유일하게 믿을 만한 방법입니다.
단계별 해결책
순서대로 적용하세요 — 가장 저렴하고 덜 방해되는 것부터.
1. 브라우저 작업 관리자로 문제의 탭을 닫는다
가장 효과가 큰 해결책입니다. macOS의 Chrome / Edge / Arc / Brave에서: 창 메뉴 → Task Manager → 메모리순 정렬 → 무거운 줄 선택 → 프로세스 종료. 탭이 닫힙니다(확장 프로그램이나 서비스 줄이라면 해당 프로세스가 종료됨). 필요했다면 닫힌 탭은 기록에서 다시 열 수 있습니다.
2. 작업을 잃지 않고 문제의 탭을 다시 시작한다
때로는 탭이 필요한데 장시간 실행된 웹 앱이 지나치게 커졌을 수 있습니다. 탭에서 오른쪽 클릭 → “새로고침”은 같은 helper에서 페이지를 다시 로드합니다. 새 helper를 얻으려면 탭을 닫고 최근 닫은 기록에서 다시 여세요. Safari에서는 ⌘W 후 ⌘Z(탭 닫기 실행 취소)로 깔끔하게 다시 엽니다.
3. 누수가 있는 확장 프로그램을 비활성화한다
ProcXray의 Command Line 보기가 메모리 사용량 상위에 확장 프로그램 ID를 보여줬다면, 그 확장 프로그램을 비활성화하세요. Chrome: chrome://extensions. Safari: 설정 → 확장 프로그램. helper의 메모리가 몇 초 안에 떨어지는지 지켜보세요. 메모리가 정상으로 돌아오면 그 확장 프로그램이 원인이었던 것이니, 교체를 고려하세요.
4. 브라우저의 탭 절전 기능을 켠다
- Chrome: chrome://settings/performance → Memory Saver → 켜기. 한동안 쓰지 않은 탭이 언로드되고, 클릭하면 페이지가 다시 로드됩니다.
- Edge: 설정 → 시스템 및 성능 → Sleeping tabs.
- Arc: 설정 → 짧은 기간(24시간, 일주일 등)으로 “Archive after” 활성화.
- Safari: 일반적인 탭 절전은 없지만, 백그라운드 탭은 기본적으로 공격적으로 제한됩니다. “탭을 다른 창으로 이동”을 쓰거나 그룹을 수동으로 닫으세요.
이렇게 하면 “유휴 탭 100개가 30GB를 붙들고 있음”이 “보이는 탭 100개가 수백 MB를 붙들고 있음”으로 바뀝니다. 대가는 다시 방문할 때 한 번의 추가 페이지 로딩입니다.
5. 브라우저를 재시작한다
깔끔한 재시작은 모든 helper를 초기화하고, 충돌했거나 누수된 helper가 붙들고 있던 메모리를 회수합니다. ProcXray 기록이 누수를 보여주지만 구체적인 출처를 짚어내지 못할 때 가장 빠른 해결책입니다.
6. 브라우저와 확장 프로그램을 업데이트한다
최근 업데이트 후 메모리 사용량이 급격히 달라졌다면 후속 릴리스를 확인하세요. Chrome, Edge, Arc, Brave는 자동으로 업데이트되지만 적용하려면 재시작이 필요합니다 — 메뉴에서 “다시 시작하여 업데이트”를 확인하세요.
7. 최후의 수단: 로그아웃 후 다시 로그인하거나 Mac을 재시작한다
브라우저 helper는 사용자 세션을 넘어 절대 지속되어선 안 되지만, 다른 모든 방법이 실패하면 로그아웃이 전체 재시작 없이도 환경을 깔끔하게 재생성합니다.
브라우저만이 유일한 용의자가 아닐 때의 더 폭넓은 Mac 메모리 점검은 올바른 프로세스를 종료해 느린 Mac을 고치는 법을 참고하세요.
자주 묻는 질문
Google Chrome Helper 프로세스가 왜 이렇게 많은가요?
탭마다 하나, 사이트 프레임마다 하나(교차 사이트 iframe용), 확장 프로그램마다 하나, 거기에 GPU helper와 네트워크 helper가 더해집니다. 확장 프로그램 몇 개와 함께 탭 스무 개를 열면 helper가 손쉽게 스물다섯에서 서른 개가 됩니다. 이는 설계상 의도된 것이며 — 보안 격리가 요구합니다 — 그 자체로 문제의 징후가 아닙니다.
개별 helper를 안전하게 종료할 수 있나요?
네. Activity Monitor에서 또는 터미널에서 kill로 helper를 닫는 것은 그 탭이 충돌하는 것과 같습니다. Chrome은 그 탭을 “He’s dead, Jim” / “이런!” 페이지로 보여주며, 새로고침을 클릭하면 복원됩니다. 저장하지 않은 것(양식 입력, 작성 중이던 채팅 메시지)은 잃게 됩니다. 브라우저 자체는 계속 실행됩니다.
Safari가 정말 Chrome보다 RAM을 덜 쓰나요?
대체로 그렇습니다 — Safari는 백그라운드 탭을 더 공격적으로 제한하고, 탭이 포커스를 잃으면 메모리를 더 빨리 해제하며, macOS의 압축 메모리를 더 적극적으로 사용합니다. 차이는 실재하지만 밈이 암시하는 것보다는 작고, 어떤 웹 앱을 쓰느냐에 크게 좌우됩니다. 유휴 탭 다섯 개가 있는 Chrome 창이 활성 영상으로 가득 찬 같은 다섯 탭의 Safari 창보다 메모리를 덜 쓸 수도 있습니다.
ProcXray 없이 어느 helper가 어느 탭인지 어떻게 알 수 있나요?
Chromium 기반 브라우저(Chrome, Edge, Arc, Brave 등)의 경우, 브라우저에 내장된 작업 관리자(macOS에서는 창 메뉴 → Task Manager)가 탭 제목을 프로세스에 매핑하며, 그렇게 하는 유일한 macOS 내장 도구입니다 — ProcXray가 있든 없든 첫 출발점이어야 합니다. ProcXray는 브라우저 간 가시성, 누수 탐지를 위한 과거 메모리 데이터, helper 하위 유형(renderer 대 GPU 대 확장 프로세스) 구별로 이를 보완합니다. Safari에는 내장된 매핑이 전혀 없습니다 — Safari의 경우 탭을 A/B로 닫는 것이 현실적인 차선책입니다.
탭을 닫았는데도 왜 메모리가 계속 자라나요?
가능한 이유는 세 가지입니다. 첫째, 탭이 닫힌 뒤 helper가 실제로 종료되기까지 몇 초가 걸릴 수 있으니 — 결론을 내리기 전에 10~20초 기다리세요. 둘째, 확장 프로그램의 helper는 탭을 넘어 지속되므로 탭을 닫아도 확장 프로그램 메모리에는 영향이 없습니다. 셋째, 브라우저나 확장 프로그램의 실제 누수: 새 탭이 없어도 시간이 지나며 메모리가 자랍니다. ProcXray의 Resource History로 누수를 확인하고 Command Line 보기로 어느 프로세스가 새고 있는지 짚어내세요.
출처 및 참고 자료
- The Chromium Projects — Multi-process architecture
- The Chromium Projects — Site isolation
- WebKit Open Source Project — Project Documentation (Safari의 기반 다중 프로세스 아키텍처 배경 자료)
- Apple Support — Activity Monitor 사용법
- Mac에서 WindowServer가 CPU를 많이 쓸 때
- Mac에서 mds_stores가 CPU를 많이 쓸 때
- ProcXray vs Activity Monitor
- macOS에서 프로세스를 모니터링하는 법: 개발자를 위한 완전 가이드
ProcXray 무료 다운로드 → — Chrome, Safari, Edge, Arc의 브라우저 helper를 하나의 화면에서 메모리순으로 정렬하고, 각 helper의 실행 인자와 기록을 확인하며, 누수를 일찍 잡아내세요. macOS Sonoma+, Apple Silicon 및 Intel.