가상메모리 및 스왑 영역 사용량 확인 방법 (맥북)

가상메모리 상태와 스왑영역 사용량 확인하기(with 맥북)

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

인프라/DevOps/보안

대상자

  • *시스템 관리자, 개발자, DevOps 엔지니어**
  • 난이도: 중급 (운영체제 메모리 관리, 디스크 I/O, 보안 프로토콜 이해 필요)

핵심 요약

  • 메모리 스와핑RAM 부족 시 자주 사용되지 않는 메모리 페이지를 디스크의 스왑 영역으로 이동하는 기법이다.
  • 스왑 영역(Swap Space)HDD/SSD 상의 일시적 데이터 저장 공간으로, 프로세스 실행을 유지하는 데 필수적이다.
  • 과도한 스왑 사용성능 저하서버 다운 위험을 초래하며, OOM Killer가 메모리 과부하 프로세스를 강제 종료할 수 있다.

섹션별 세부 요약

1. 메모리 스와핑의 정의 및 원리

  • 스와핑RAM을 최적화하기 위해 불필요한 페이지를 디스크로 이동(swap out)하고, 필요 시 다시 불러오기(swap in)하는 기법이다.
  • 현대 OS(예: macOS)는 페이지 단위 스와핑을 사용하며, 압축 메모리 → 스왑 순서로 처리된다.
  • 스왑 영역보조기억장치(HDD/SSD) 상의 공간으로, RAM 부족 시 프로세스 실행을 유지하는 데 사용된다.

2. 메모리 페이지 상태 및 지표

  • Pages active : 최근 사용된 데이터, Pages inactive : 잠재적으로 재사용 가능한 데이터.
  • Pages speculative : 프리페치(prefetch)된 데이터로, 필요 없으면 삭제됨.
  • Pages throttled : 디스크 I/O 제한으로 인해 처리 대기 중인 페이지.
  • Pages wired down : 커널/드라이버가 고정한 메모리(해제 불가).
  • Pages purgeable : 캐시 데이터(필요 시 삭제 가능).

3. 스왑 공간의 성능 영향 및 관리

  • 스왑은 RAM 사용 최적화에 도움이 되지만, 디스크 접근 지연으로 성능 저하 원인이 될 수 있다.
  • Pages reactivated : inactive → active로 이동한 페이지 수, Pages purged : 삭제된 purgeable 페이지 수.
  • 서버 운영 시 스왑 사용률 관리가 필수이며, 과도한 사용 시 서버 다운 위험.

4. 클라우드 환경 및 OOM Killer

  • AWS/GCP 등 클라우드에서는 메모리 제한(limit) 설정을 통해 OOM Killer 활성화를 방지할 수 있다.
  • OOM Killer메모리 과부하 프로세스를 강제 종료하여 시스템 안정성을 유지.
  • macOS스왑 데이터 암호화(encrypted)를 적용해 보안 강화.

결론

  • 메모리 사용량 모니터링스왑 영역 사용률 관리가 필수이며, 디스크 I/O 최적화메모리 제한 설정을 통해 성능 저하를 방지해야 한다.
  • Pages free, Pageouts, Swapouts 등 주요 지표를 주기적으로 점검하고, 클라우드 환경에서는 컨테이너/VM 단위 제한을 설정할 것.