프로세스가 실제 RAM에 올려 둔 페이지 집합이 작업 집합보다 작아지면 fault가 늘어난다.
스와핑과 thrashing 신호
스와핑은 메모리 압박 때 페이지를 디스크로 내보내는 압력 완화 장치입니다. 그러나 page-in/out이 CPU 실행보다 많아지면 thrashing으로 전환됩니다.
01resident set
02swap out
03page-in
04thrashing
희생 페이지가 dirty이면 디스크 쓰기가 먼저 필요해 지연이 커진다.
다시 접근하면 swap 또는 파일에서 읽어 frame과 PTE를 갱신한다.
major fault와 swap I/O가 급증하고 CPU 사용률은 오히려 떨어지는 상태다.
스와핑 문제는 free memory만 보지 말고 major fault, swap in/out, run queue, working set 변화를 같이 확인해야 합니다.