next up previous contents
Next: Pamięć podręczna stron i Up: Pamięć Wirtualna w Linuksie Previous: Postarzanie stron (ang. page   Spis rzeczy

Postępowanie przy dużym obciążeniu

Podczas gwałtownego zmniejszania się rezerw wolnej pamięci aktywność kontroli wieku stron wzrasta. Jądro w pierwszej kolejności próbuje ,,uwolnić'' pamięć z buforów alokatora płytowego. Jeżeli nadal brakuje pamięci to następuje sprawdzenie stron z listy aktywnych i przesunięcie najmniej używanych na listę nieaktywnych. Następnie lista nieaktywnych stron jest przeglądana w poszukiwaniu stron, które można zwolnić (jednocześnie weryfikowana jest synchronizacja z dyskiem), najlepiej jeśli strona nie ma użytkownika. Jeżeli strona różni się od swojego odpowiednika dyskowego, ale nie jest bardzo potrzebna to zapisuje się ją na dysk. Jeżeli na listach stron większość stron ma użytkowników (tzn. jest odwzorowana w pamięci jakichś procesów i nie można ich bezpośrednio usunąć) to rozpoczyna się proces odbierania stron procesom.

Jako ostatnie źródło pamięci jądro próbuje zmniejszyć bufory związane z systemem plików. Jeżeli to nic nie da to unicestwiany jest jeden z aktywnych procesów (trwają prace nad ,,inteligentnym'' wyborem procesu do usunięcia tzn. wybraniu procesu, od którego nie zależy praca systemu operacyjnego).



Jarek Babel 2002-12-10