PE Notes · CA/OS
스레싱
페이지 교체에 CPU가 붙잡히는 스레싱을 다중 프로그래밍 곡선으로 보이고, 워킹셋과 페이지 폴트율 제어로 끊는 길을 정리합니다.
프로세스를 더 넣으면 CPU가 바빠져야 합니다. 물리 프레임이 부족하면 반대가 됩니다. 은 계산보다 페이지 교체에 시간을 쏟아 CPU 이용률이 떨어지는 상태입니다. 가상 메모리가 “있는 것처럼” 보이게 하는 대가입니다.
곡선이 꺾이는 지점
프레임이 넉넉하면 는 드뭅니다. 다중 프로그래밍이 늘면 프로세스마다 받는 이 줄고 폴트가 잦아집니다. 디스크 대기가 늘면 CPU는 놉니다. 스케줄러가 유휴를 메우려고 또 프로세스를 넣으면 교체가 더 폭주합니다. 이용률이 한 자릿수로 떨어지고 폴트율은 천장에 붙습니다.
| 단계 | 상태 |
|---|---|
| 정상 | 프레임 충분, 폴트 낮음 |
| 경계 | 프로세스 증가, 프레임 부족 |
| 스레싱 | 교체 폭주, CPU 유휴, 더 투입 |
| 마비 | 이용률 급락, 폴트율 포화 |
캐시 쓰래싱과 닮은 꼴입니다. 워킹 세트가 캐시·메모리 어느 층이든 안 들어가면 유용한 일보다 교체가 앞섭니다.
워킹셋과 폴트율
W(t, Δ)는 시각 t에서 최근 Δ 동안 만진 페이지 집합입니다. 그 크기만큼 프레임을 주지 못하면 그 프로세스를 잠시 내립니다. 집합을 보장할 수 있을 때만 돌립니다.
는 폴트율을 목표 띠에 둡니다. 상한을 넘으면 프레임을 더 주고, 하한 아래면 거둬 남에게 돌립니다. 전 시스템에 프레임이 모자라면 일부를 스왑 아웃해 나머지를 살립니다. 전역 교체 대신 지역 교체를 쓰면 한 프로세스의 폭주가 옆을 덜 깎습니다. 근본은 물리 메모리를 늘리는 일입니다.
스케줄 노트는 준비 큐에 몇 개를 올릴지를, 가상 메모리 노트는 폴트의 정의를 받칩니다. 스레싱이 길어지면 응답이 사라지고 이 같이 무너집니다. 답안은 정의, 이용률 곡선, 워킹셋 식, PFF 띠를 한 장에 닫습니다.