Activity Monitor는 모든 Mac에 기본 탑재되어 기본기를 충족합니다. 하지만 개발자들은 본격적인 디버깅을 시작한 첫 주 안에 어김없이 그 한계를 넘어섭니다. 각 도구가 제공하는 것을 자세히 비교해 보겠습니다.
빠른 요약
기본적인 CPU와 메모리 확인만 필요하다면 Activity Monitor로 충분합니다. 프로세스 트리, 환경 변수, 정규식 필터링, 수명이 짧은 프로세스 캡처, 또는 코드 서명 검사가 필요하다면 개발자 디버깅과 인시던트 대응 워크플로에는 ProcXray가 더 잘 맞습니다.
나란히 비교: 핵심 기능
| 기능 | Activity Monitor | ProcXray |
|---|---|---|
| CPU/메모리 차트 | ✓ | ✓ |
| 프로세스 목록 | ✓ | ✓ |
| 강제 종료 | ✓ | ✓ |
| 프로세스 트리(부모-자식) | ✗ | ✓ |
| 환경 변수 검사기 | ✗ | ✓ |
| 실시간 정규식 검색 | ✗ | ✓ |
| 수명이 짧은 프로세스 캡처 | ✗ | ✓ |
| 프로세스 수명 주기 강조 | ✗ | ✓ |
| Dylib(동적 라이브러리) 뷰어 | ✗ | ✓ |
| 열린 파일 디스크립터 | ✗ | ✓ |
| 코드 서명 및 권한 | ✗ | ✓ |
| 네트워크 포트 모니터링 | ✗ | ✓ |
| 우클릭 컨텍스트 동작 | 기본 | 전체 |
프로세스 트리: 무엇이 무엇을 생성했는지 이해하기
Activity Monitor의 평면 목록은 Safari가 실행 중인지 확인하는 데는 괜찮습니다. 하지만 빌드 시스템, CI 러너, 또는 다중 프로세스 Node.js 앱을 디버깅할 때는 무너집니다. node 프로세스 20개가 보이지만 어느 것이 어느 것을 생성했는지 알 수 없습니다.
ProcXray의 트리 보기는 전체 프로세스 계보를 보여줍니다. 부모를 펼쳐 모든 자식과 손자를 실시간으로 확인하세요. 끝나면 접으면 됩니다. 언제든 평면 목록으로 다시 전환할 수 있습니다.
환경 변수: 실제로 필요한 디버그 데이터
프로세스가 프로덕션과 로컬에서 다르게 동작한다면, 대개 환경 변수 때문입니다. Activity Monitor에서는 실행 중인 프로세스의 환경을 검사할 방법이 전혀 없습니다.
ProcXray의 Environment 탭은 프로세스가 상속받았거나 명시적으로 설정된 모든 변수를 보여줍니다. 모든 변수를 한 번의 클릭으로 JSON으로 복사하세요. 깨끗한 셸에서 버그를 재현하는 데 유용합니다.
정규식 검색: 중요한 것을 몇 초 만에 찾기
Activity Monitor의 검색은 프로세스 이름에 대한 부분 문자열 필터일 뿐입니다. node.*build나 python.*manage.py에 일치하는 모든 프로세스를 찾으려 한다면 방법이 없습니다.
ProcXray의 검색은 프로세스 이름, 명령줄 인자, PID, 파일 경로 전반에 걸쳐 실시간 정규식 필터를 실행합니다. 입력하는 대로 목록이 1밀리초 미만으로 갱신됩니다.
수명이 짧은 프로세스 캡처
컴파일러와 링커 프로세스, 셸 헬퍼, 빌드 도구 하위 프로세스는 흔히 1초도 안 되게 존재합니다. 1~5초마다 새로고침되는 Activity Monitor는 이들을 절대 보여주지 못합니다.
ProcXray는 새 프로세스가 생성되는 순간 초록색으로 강조하고, 종료된 프로세스는 빨간색으로 유지해 사후에 검사할 수 있게 합니다. 이로써 “빌드 중에 무엇이 실행되는지 전혀 모르겠다”가 “모든 하위 프로세스와 그 PID, 인자, 실행 시간을 볼 수 있다”로 바뀝니다.
Dylib 및 파일 디스크립터 검사
라이브러리 충돌일 수도 있는 크래시를 디버깅 중인가요? ProcXray의 Modules 탭은 프로세스가 로드한 모든 동적 라이브러리를 나열합니다. Connections 탭은 열린 모든 파일 디스크립터와 네트워크 포트를 보여줍니다.
동등한 터미널 명령:
vmmap <PID> # 로드된 라이브러리 (복잡한 출력)
lsof -p <PID> # 열린 파일과 포트
ProcXray는 동일한 데이터를 구조화되고 필터링 가능한 UI로 드러내 줍니다.
코드 서명 및 보안
보안 검토나 컴플라이언스 점검을 위해 ProcXray는 각 프로세스의 코드 서명 상태, 서명 신원, 권한(entitlements) 목록을 난해한 codesign -dvvv 출력 없이 보여줍니다.
자주 묻는 질문
소프트웨어 개발 디버깅에 Activity Monitor만으로 충분한가요?
Activity Monitor는 빠른 리소스 확인에는 유용하지만, 프로세스 계보, 환경 검사, 일시적 프로세스 가시성이 부족합니다. 다중 프로세스 앱과 빌드 시스템 디버깅에서 이런 빈틈은 대개 작업을 가로막습니다.
실제 인시던트에서 프로세스 트리 보기가 왜 중요한가요?
여러 node, python, 또는 헬퍼 바이너리가 실행 중일 때, 부모-자식 계보는 CPU 급증, 메모리 증가, 좀비 하위 프로세스의 진짜 원인을 파악하는 가장 빠른 방법인 경우가 많습니다.
터미널 명령만으로도 할 수 있나요?
부분적으로는 가능합니다. ps, lsof, vmmap, codesign 같은 도구가 원시 데이터의 상당 부분을 제공하지만, 출력이 파편화되어 있어 활발히 디버깅하는 중에 빠르게 연관 짓기가 더 어렵습니다.
출처 및 참고 자료
- Apple: Activity Monitor User Guide
pscommand referencevmmapcommand referencelsofcommand referencecodesigncommand reference
결론
Activity Monitor는 빠르게 훑어보는 데는 유용합니다. 하지만 디버깅, 성능 분석, 보안 검토와 관련된 일이라면 ProcXray는 Activity Monitor가 도저히 줄 수 없는 데이터를 제공합니다.
ProcXray 무료 다운로드 → — macOS Sonoma+, Apple Silicon 및 Intel.