Dlaczego warto zamieniać pamięć podręczną?


9

Wydaje mi się, że buforowanie stron, które zostały zamienione, przynosi efekt przeciwny do zamierzonego. Jeśli zamieniasz strony, jaka jest zaleta, aby najpierw buforować je w pamięci, tylko po to, aby musieć je przenieść we właściwe miejsce? Nawet jeśli strony są zamieniane proaktywnie, czy nie ma większego sensu „po prostu” zamieniać je? Czy tak naprawdę zamiana pamięci podręcznej nie jest marnowaniem zasobów?


Pani, proszę pana, proszę o dodatkowe punkty ode mnie za pytania. Chciałbym móc dwukrotnie głosować.
Eli Frey,

Odpowiedzi:


12

Po kilku dalszych badaniach odkryłem, że termin SwapCached /proc/meminfojest mylący. W rzeczywistości odnosi się do liczby bajtów, które są jednocześnie w pamięci i zamianie, tak że jeśli te strony nie są brudne, nie trzeba ich wymieniać.


2
To prawie równoznaczne z buforowaniem, prawda? Mam na myśli, że system zarządzania pamięcią jądra WRT, „buforowany” oznacza „zarówno na dysku, jak i w pamięci RAM”, prawda?
SamB

0

Nigdy o tym nie słyszałem i to też nie ma dla mnie większego sensu. Nadal uważam, że najlepsza jest stara stara zasada, aby upewnić się, że w ogóle się nie zamienia (z wyjątkiem oczywiście rezerwacji). Teoretycznie buforowanie rzeczy w bezpośrednio dostępnej pamięci, które ładuje się z czegoś tak wolnego jak dysk, ma wyraźną zaletę. Ale jeśli jesteś w stanie buforować strony, które chcesz zamieniać, to po co ponownie zamiana?


0

Zadaniem duplikowania stron między zamianą a pamięcią RAM jest uniknięcie oczekiwania na dysk, jeśli:

  1. Coś z nich trzeba przeczytać

  2. Muszą zostać eksmitowani, aby zrobić miejsce na coś innego

Gdyby były tylko w trybie wymiany, przypadek 1. oznaczałby czekanie, aż wyjdą z dysku; gdyby były tylko w pamięci RAM, przypadek 2. oznaczałby czekanie na wyjście na dysk.

(Oczywiście przypadek 2 jest w rzeczywistości trochę bardziej skomplikowany, ponieważ eksmisja takich stron jest oczywiście tańsza, więc jądro prawdopodobnie eksmituje je preferencyjnie, ale kwestia powinna być jasna.)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.