본문 바로가기
운영체제 (LNX,WIN)

Apple Silicon 메모리 압박(Memory Pressure) 제대로 모니터링하기

by 날으는물고기 2026. 4. 26.

Apple Silicon 메모리 압박(Memory Pressure) 제대로 모니터링하기

728x90

macOS(Mac mini 포함) CLI 환경에서 CPU/메모리/디스크 등을 많이 사용하는 상위 프로세스를 조회하는 방법은 여러 가지가 있습니다.

가장 기본 — top

CPU 많이 사용하는 프로세스

top -o cpu

의미

  • CPU 사용률 기준 정렬
  • 실시간 갱신

메모리 많이 사용하는 프로세스

top -o mem

한 번만 출력

스크립트/자동화용

top -l 1 -o cpu

htop (가장 추천)

macOS에서 가장 보기 좋음

설치

brew install htop

실행

htop

유용한 기능

기능
P CPU 정렬
M Memory 정렬
T TIME 정렬
F5 Tree View
k kill
/ 검색
300x250

ps 기반 상위 프로세스 조회

자동화/스크립트에 매우 유용

CPU 상위 10개

ps -Ao pid,ppid,comm,%cpu,%mem --sort=-%cpu | head

예시

PID  PPID COMMAND          %CPU %MEM
123   1    WindowServer    45.2  2.1
456   1    Google Chrome   30.1  5.5

메모리 상위 10개

ps -Ao pid,ppid,comm,%mem,rss --sort=-%mem | head

RSS(MB) 보기 좋게

ps -Ao pid,comm,rss,%mem --sort=-rss | \
awk 'NR==1{print $0} NR>1{printf "%s %s %.1fMB %s\n",$1,$2,$3/1024,$4}'

특정 프로세스 상세 확인

ps -p 1242 -o pid,ppid,user,%cpu,%mem,command

메모리 누수 확인용

지속 증가하는 프로세스 추적

1초마다 상위 메모리 출력

while true; do
  clear
  ps -Ao pid,comm,%mem,rss --sort=-rss | head
  sleep 1
done

WindowServer 원인 분석

macOS에서 매우 중요

어떤 앱이 GUI 부하 유발하는지

sudo powermetrics --samplers tasks

GPU 사용량

sudo powermetrics --show-process-gpu

Apple Silicon에서 특히 유용

실시간 프로세스 감시

CPU 80% 이상 프로세스

ps -Ao pid,comm,%cpu --sort=-%cpu | awk '$3 > 80'

메모리 1GB 이상 프로세스

ps -Ao pid,comm,rss --sort=-rss | \
awk '$3 > 1048576 {printf "%s %s %.2fGB\n",$1,$2,$3/1024/1024}'

보안 관점 추천 조회

네트워크 연결 포함

lsof -i -P -n

외부 연결 프로세스

nettop

LaunchAgent 확인

macOS persistence 핵심

launchctl list

unsigned binary 탐지

codesign -dv /path/to/binary

디스크 I/O 많이 사용하는 프로세스

macOS에서 매우 중요

iotop 대체

sudo fs_usage

특정 프로세스 I/O

sudo fs_usage -w -f filesystem

가장 실전적인 추천 조합

개인적으로 macOS 운영에서 가장 많이 쓰는 조합:

CPU

top -o cpu

메모리

ps -Ao pid,comm,%mem,rss --sort=-rss | head

GPU/WindowServer 분석

sudo powermetrics --samplers tasks

디스크 I/O

sudo fs_usage

네트워크

nettop

Grafana/Prometheus용 추천 수집

Telegraf procstat 추천

예시

[[inputs.procstat]]
  pattern = "WindowServer"

[[inputs.procstat]]
  pattern = "Docker"

[[inputs.procstat]]
  pattern = "ollama"

추천 모니터링 대상

프로세스 의미
WindowServer GUI 렌더링
kernel_task 발열
mds Spotlight
Docker 컨테이너
ollama AI 모델
Chrome 브라우저
Slack Electron 앱

가장 추천하는 명령

맥미니 운영에서는 아래 하나만 알아도 상당히 유용합니다.

ps -Ao pid,comm,%cpu,%mem,rss --sort=-%cpu | head -20

이유

  • CPU
  • Memory
  • RSS
  • Process

를 한 번에 확인 가능하고

  • SSH
  • 자동화
  • 스크립트
  • Grafana 연동
  • 장애 분석

모두 활용 가능합니다.

728x90
그리드형(광고전용)

댓글