Czytałem o swapiness na różnych forach i widziałem kilka filmów. Wiele osób stwierdziło, że dobrym rozwiązaniem dla użytkowników komputerów stacjonarnych jest obniżenie wartości swapiness poniżej 60 (co jest wartością domyślną). Niektórzy twierdzą, że 60 jest dobre dla serwerów. Dokładnie dlaczego lepiej byłoby mi go obniżyć i dlaczego 60 jest dobre dla serwerów? Próbowałem znaleźć odpowiedź (szukałem tutaj na przykład), ale nie mogłem zrozumieć. ... Proszę używać prostych terminów: D
16
Odpowiedzi:
Twoje założenie jest złe. Nie ma wartości wymiany dla serwerów.
Zamienność to ilość dokonywanych zamian, zwłaszcza jak agresywnie zamieniasz. W przypadku moich serwerów zamiana jest bliska zeru, ponieważ cholernie upewniam się, że mają wystarczającą ilość pamięci na wszystko. Nie ma wartości „najlepsza dla serwerów”. jest 60, co jest wartością domyślną, a następnie jest „twoja wartość”, która zależy od użycia i dostępnej pamięci.
Jeśli masz serwery, które czasami używają LOADS pamięci, możesz mieć ich wyższe niż domyślne, ale powiedziałbym, że niektóre serwery (serwery baz danych?) Mogą chcieć utrzymać je znacznie niżej niż komputer domowy.
źródło
Wartość swapiness jest skalowana w sposób, który dezorientuje ludzi. Widzą, że ma zakres od 0 do 100, więc myślą o procentach, kiedy tak naprawdę efektywne minimum wynosi około 50.
60 oznacza w przybliżeniu nie zamieniaj, dopóki nie osiągniemy około 80% użycia pamięci, pozostawiając 20% na pamięć podręczną i tym podobne. 50 oznacza czekanie, aż zabraknie pamięci. Niższe wartości oznaczają to samo, ale wraz ze wzrostem agresywności w próbach uwolnienia pamięci innymi sposobami.
Opisz to całkiem dobrze na http://lwn.net/Articles/83588/
źródło
Ustawienie swapiness jest drobną modyfikacją sposobu, w jaki Linux oblicza korzyści / wady wymiany w określonym scenariuszu. Wysoka zamiana nie spowoduje zamiany systemu, gdy nie jest to konieczne, a niska zamiana, pod warunkiem, że nie wyłączysz całkowicie zamiany, nie zapobiegnie zamianie systemu, gdy jest to absolutnie konieczne.
Domyślna zamiana na około 60 to bardzo dobry kompromis zapewniający dobrą wydajność systemu, zapewniając, że przydzielenie pamięci podręcznej nie jest zbyt trudne, gdy nie jest używana pamięć przydzielonego programu.
Pamiętaj, że jeśli masz dużo pamięci RAM dla wszystkich procesów plus pamięć podręczną, co zwykle powinno mieć miejsce, jeśli masz dużo fizycznej pamięci RAM, zamiana nie powinna być dla ciebie problemem. Preferowanym sposobem rozwiązania problemów związanych z zbyt dużą zamianą jest zmniejszenie wykorzystania pamięci RAM przez procesy i / lub zwiększenie fizycznej pamięci RAM. Zmniejszenie swapiness będzie miało negatywny wpływ, jeśli tak naprawdę potrzebujesz więcej pamięci RAM.
Zobacz odpowiedź, którą napisałem na bardzo podobne pytanie:
/ubuntu//a/184221/54256
Fragment:
Przeczytaj cały post na /ubuntu//a/184221/54256
źródło
Swappiness jest całkowicie sprzeczny z tymi wszystkimi odpowiedziami.
Prawdziwe działanie swapiness opisano w artykule: https://gokulvasanblog.wordpress.com/2016/11/14/empathising-mammoths-mentality-a-study-on-linux-memory-management/
Niejasność potwierdza oświadczenie Andrew Mortona: https://lwn.net/Articles/83593/
Włożę palce do uszu i zaśpiewam „la la la”, dopóki ludzie nie powiedzą mi: „Ustawiłem zamianę na zero i nie zrobiłem tego, co chciałem”.
Mam nadzieję, że się przyda
źródło