Wymiana stron w Linuxie

Linux stara się zwalniać zajętą pamięć, zawsze gdy zaczyna mu jej brakować. Najpierw próbuje wykasować strony należące do buforów (bo ich zawartość i tak najpewniej jest na dysku i gdy zajdzie potrzeba to będzie można ją wczytać ponownie), a gdy to nie spowoduje zwolnienia wystarczającej ilości pamięci, wtedy rozpoczyna wymianę stron pamięci. Gdy i to nie wystarczy wtedy wybiera i morduje jeden z procesów.

Tu będzie nas interesować tylko przypadek, w którym pamięć jest wymieniana. Pozostałe aspekty związane z wymuszonym przez jądro zwalnianiem pamięci będą opisane w następnym rozdziale - w rozdziale poświęconym demonowi kswapd.

Jak każdy wie wymiana stron jest związana ze zwalnianiem pamięci RAM kosztem innych pamięci (np. dysków). Gdy systemowi zaczyna brakować pamięci i nie może już nic z niej skasować, wtedy próbuje wyrzucić pewną liczbę stron pamięci RAM do specjalnych obszarów wymiany (najczęściej plików dyskowych). Tam strona będzie przechowywana do czasu, aż będzie ponownie potrzebna, lub do czasu gdy stanie się bezużyteczna.



Podpunkty
Tomasz Szymko 27 listopada 2001