Potrzebuję krok po kroku, prostego i łatwego sposobu konfiguracji swapiness.
sudo sysctl -p
aby załadować nową wartość swapiness z pliku sysctl.conf, w przeciwnym razie zmiana zostanie zastosowana przy następnym ponownym uruchomieniu.
Potrzebuję krok po kroku, prostego i łatwego sposobu konfiguracji swapiness.
sudo sysctl -p
aby załadować nową wartość swapiness z pliku sysctl.conf, w przeciwnym razie zmiana zostanie zastosowana przy następnym ponownym uruchomieniu.
Odpowiedzi:
Jądro Linux zapewnia modyfikowalne ustawienie kontrolujące częstotliwość używania pliku wymiany, zwane swappiness.
Ustawienie swapowania na zero oznacza, że dysk zostanie uniknięty, chyba że będzie to absolutnie konieczne (zabraknie pamięci), a ustawienie swapowania na 100 oznacza, że programy zostaną zamienione na dysk niemal natychmiast.
System Ubuntu ma domyślnie 60, co oznacza, że plik wymiany będzie używany dość często, jeśli zajmie to około połowy mojej pamięci RAM. Możesz sprawdzić wartość swapiness własnego systemu, uruchamiając:
one@onezero:~$ cat /proc/sys/vm/swappiness
60
Ponieważ mam 4 GB pamięci RAM, chciałbym zmniejszyć tę liczbę do 10 lub 15. Plik wymiany będzie wtedy używany tylko wtedy, gdy użycie pamięci RAM będzie wynosić około 80 lub 90 procent. Aby zmienić wartość swapiness systemu, otwórz /etc/sysctl.conf
jako root . Następnie zmień lub dodaj ten wiersz do pliku:
vm.swappiness = 10
Uruchom ponownie, aby zmiana zaczęła obowiązywać.
Możesz także zmienić wartość, gdy system nadal działa z:
sysctl vm.swappiness=10
Możesz również wyczyścić swap, uruchamiając go, swapoff -a
a następnie swapon -a
jako root zamiast restartu, aby osiągnąć ten sam efekt.
Aby obliczyć formułę wymiany:
free -m (total) / 100 = A
A * 10
root@onezero:/home/one# free -m
total used free shared buffers cached
Mem: 3950 2262 1687 0 407 952
-/+ buffers/cache: 903 3047
Swap: 1953 0 1953
więc suma wynosi 3950/100 = 39,5 * 10 = 395
Oznacza to, że kiedy pozostanie 10% (395 MB) pamięci RAM, zacznie używać swap.
Parametr swappiness kontroluje tendencję jądra do przenoszenia procesów z pamięci fizycznej na dysk wymiany. Ponieważ dyski są znacznie wolniejsze niż pamięć RAM, może to prowadzić do dłuższych czasów reakcji systemu i aplikacji, jeśli procesy zostaną zbyt agresywnie usunięte z pamięci.
swappiness
może mieć wartość od 0 do 100.swappiness=0
:
swappiness=1
:
swappiness=100
:
Zobacz http://en.wikipedia.org/wiki/Swappiness .
Domyślne ustawienie w Ubuntu to swappiness=60
. Zmniejszenie domyślnej wartości swapiness prawdopodobnie poprawi ogólną wydajność typowej instalacji pulpitu Ubuntu. Wartość swappiness=10
jest zalecana, ale możesz eksperymentować.
Zaczął używać swap na 91% :
Ponieważ skonfigurowałem mój system i VM do korzystania z pamięci RAM w 90% , przy 90% nie było wymiany.
Potem otworzyłem niektóre aplikacje, takie jak Firefox i Shutter, i zaczęło się zamieniać, ponieważ użycie pamięci RAM przekracza 90% .
sudo bash -c "echo 'vm.swappiness = 15' >> /etc/sysctl.conf"