Swapping

스와핑 완충 역할

스와핑은 프로세스나 페이지를 메모리 밖 저장장치로 내보내 공간을 만든다. 메모리는 확보되지만 디스크 I/O가 끼면서 성능이 급격히 흔들린다.

01

압박 신호 검토

free memory 부족, page fault 증가, swap I/O 증가가 스와핑 개입을 나타낸다.

02

희생 대상 선택

오랫동안 쓰지 않은 페이지나 낮은 우선순위 작업을 내보내는 정책이 필요하다.

03

thrashing을 감지한다

작업 집합이 메모리에 들어가지 않으면 CPU는 계산보다 page in/out에 시간을 쓴다.

Swap space
보조 저장소 영역 메모리에서 밀려난 내용을 임시로 보관한다.
디스크라 RAM보다 훨씬 느리다.
Working set
최근 필요한 페이지 묶음 작업 집합이 메모리보다 크면 fault가 폭증한다.
성능 붕괴의 핵심 신호다.
Page replacement
교체 정책 LRU 근사, clock 같은 정책으로 내보낼 페이지를 고른다.
정확한 LRU는 비용이 크다.
Thrashing
교체 과부하 CPU 사용률은 낮고 I/O만 바빠지는 상태다.
동시 작업 수를 줄여야 할 수 있다.

신호 · 작업 집합 · 정책 점검

신호 느림의 원인이 CPU가 아니라 page fault와 swap I/O인지 구분하는가.
작업 집합 현재 실행 중인 프로세스들의 working set이 물리 메모리에 들어가는가.
정책 페이지 교체 정책이 최근성과 참조 패턴을 어떻게 근사하는가.

성능 신호

high page faults + high swap I/O + low CPU progress => possible thrashing