Linux çekirdeği, takas dosyasının ne sıklıkta kullanıldığını kontrol eden değiştirilebilen bir ayar sunar
Bir swappiness ayarı sıfır bir swappiness ayarı yaparken disk (bellek tükendi) kesinlikle gerekli olmadıkça kaçınılmalıdır anlamına gelir 100 programları neredeyse anında diske takas olacağı anlamına gelir.
Ubuntu sistemi varsayılan olarak 60 değerine sahiptir, bu, bellek kullanımı RAM'imin yaklaşık yarısı kadar olduğunda takas dosyasının oldukça sık kullanılacağı anlamına gelir. Kendi sisteminizin swappiness değerini çalıştırarak kontrol edebilirsiniz:
one@onezero:~$ cat /proc/sys/vm/swappiness
60
4 GB RAM'im olduğundan, bunu 10 veya 15'e düşürmek istiyorum. Takas dosyası sadece RAM kullanımım yüzde 80 veya 90 civarında olduğunda kullanılacak. Sistemin takas değerini değiştirmek için açın /etc/sysctl.conf as root
. Ardından, bu satırı değiştirin veya dosyaya ekleyin:
vm.swappiness = 10
Değişikliğin yürürlüğe girmesi için yeniden başlat
Değeri, sisteminiz hala çalışıyorken de değiştirebilirsiniz.
sysctl vm.swappiness=10
aynı efekti elde etmek için takas işleminizi çalıştırıp swapoff -a
ardından swapon -a
yeniden başlatma yerine kök olarak da temizleyebilirsiniz .
Takas formunuzu hesaplamak için
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
bu yüzden toplam 3950/100 = 39,5 x 10 = 395
yani, % 10 395 MB koç bıraktığında, değiş tokuş etmeye başlıyor demektir.