Dlaczego zaleca się zamianę = 10?

9

Wartość swappiness=10jest zalecana w SwapFaq Ubuntu .

Dlaczego zamiast 10 zalecana jest wartość 10 swappiness=0?

Czy są jakieś plusy 10 lub minusy zero?

Eric
źródło
3
@Mitch Pytanie dotyczy tego, dlaczego ludzie zalecają ograniczenie swapingu. To pytanie jest inne; pyta, dlaczego zamiana wcale nie powinna przekraczać zera . To nie jest pytanie, dlaczego ludzie zalecają, aby był tak niski ; pyta, dlaczego zalecenie jest tak wysokie, jak jest. Ponieważ odpowiedź na to pytanie (dość racjonalnie) nie zgadza się z argumentem mającym na celu ograniczenie swapingu do tej pory, moja odpowiedź tutaj w pewnym stopniu się pokrywa , ale ostatecznie uważam, że są to oddzielne (choć powiązane) pytania z oddzielnymi odpowiedziami.
Eliah Kagan
@EliahKagan touché :)
Mitch

Odpowiedzi:

9

swappiness=0będzie czekać na zamianę, aż będzie to absolutnie konieczne. Ustawienie umiarkowanej wartości, na przykład swappiness=10, spowoduje łatwiejsze zamianę stron z pamięci na dysk. Może to zapobiec potrzebie częstej zamiany na raz; taka potrzeba może powodować irytujące opóźnienia.

Ponadto często proces działa, ale przez dłuższy czas nic nie robi. Wiele demonów (usług działających w tle) zachowuje się w ten sposób. Być może aplikacja w tle jest przez pewien czas nieużywana. W dzisiejszych czasach niektóre aplikacje są wdrażane jako wiele procesów, takich jak Chromium i Google Chrome, gdzie każda karta ma za sobą osobny proces (nie osobny wątek, ale osobny proces ). Ustawienie swappinesswartości takiej jak 10 powoduje, że te zadania w tle, które nie są aktywnie używane, są zamieniane na pamięć, nawet jeśli mogą pozostać zatłoczone w pamięci RAM. Następnie, gdy aktywniej wykorzystywany proces potrzebuje przydzielić więcej pamięci RAM, może to zrobić szybciej.

Podsumowując, zezwolenie na zamianę procesów z pamięci RAM na dysk wcześniej niż to konieczne często zapewnia korzyści w zakresie wydajności i mniejsze opóźnienia, gdy proces przydziela pamięć. Jest to kosztem czasu potrzebnego na zamianę procesów z powrotem. Ale zwykle odbywa się to znacznie rzadziej niż proces w aktywnym użyciu alokuje i zwalnia pamięć, więc kompromis jest często opłacalny.

Eliah Kagan
źródło
Należy również wziąć pod uwagę bufor dysku. Jeśli masz dysk SSD z buforem 512 MB i 4 GB pamięci RAM. prawdopodobnie możesz zostawić to na 10 bez obawy o jakiekolwiek problemy z wydajnością, ponieważ każdy program będzie w stanie niemal natychmiast przydzielić około 1 GB pamięci RAM. Mam dysk SSD z 256 MB buforem i 8 GB pamięci RAM, więc pozostawiam go również na 10, ponieważ gwarantuje również szybki przydział około 1 GB, którego rzadko potrzebuję.
stackount