W CentOS 7 jak ustawić domyślną pamięć.sappiness dla wszystkich grup systemowych? Mogę to zrobić dla każdej grupy za pomocą opcji ControlGroupAttribute, ale chciałbym zastąpić domyślną wartość 60 dla wszystkich grup.
W CentOS 7 jak ustawić domyślną pamięć.sappiness dla wszystkich grup systemowych? Mogę to zrobić dla każdej grupy za pomocą opcji ControlGroupAttribute, ale chciałbym zastąpić domyślną wartość 60 dla wszystkich grup.
Odpowiedzi:
Jeśli chcesz to zrobić dla WSZYSTKICH grup, czy chcesz to zrobić dla całego systemu? W takim przypadku możesz ustawić szeroki system wymiany w „/etc/sysctl.conf”. Linia, którą chcesz edytować, to „vm.swappiness =”, którą możesz ustawić na wartość od 0 do 100.
Jako uczciwe ostrzeżenie dla każdego, kto przenosi tę wartość jako sposób na całkowite uniknięcie zamiany, ustawienie tej bardzo niskiej wartości prawie całkowicie wyłączy stronicowanie popytu, co jest bardzo przydatnym sposobem na usunięcie bezczynnych stron z pamięci RAM i zamianę. Tak, to „zamiana”, ale nie jest to tak desperacka rzecz jak stare tradycyjne poczucie zamiany, kiedy kończy się nam pamięć. Stronicowanie popytu jest szczególnie przydatne w dużych bazach danych i nie powinno tak naprawdę niczego spowalniać. Z pewnością przewyższa wymianę rzeczy, gdy brakuje nam pamięci w ostatniej chwili, ponieważ stronicowanie na żądanie pomaga w zapobieganiu temu, gdy system nie działazatrzymanie się, a nie po nim. Ustawienie 0 dla całego systemu vm.swappiness może spowodować, że system zabije procesy OOM pod silnym ciśnieniem, potencjalnie sprowadzając cały system w panikę jądra.
Warto również wspomnieć, że po wywołaniu pliku sysctl.conf należy go odczytać. # sysctl -p
czyta linie, które zostały zmodyfikowane w /etc/sysctl.conf. vm.swappiness można zmienić w działającym systemie w ten sposób lub za pomocą procfs w ten sposób: # echo 50 > /proc/sys/vm/swappiness
gdzie 50 to dowolna liczba od 0 do 100.