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 to zmniejszyć 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ść wymiany systemu, otwórz /etc/sysctl.conf as 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
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ć swap Formula
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
co oznacza, że kiedy pozostało 10% 395 MB pamięci RAM, zaczyna używać swapiness