Değişkenliği nasıl yapılandırabilirim?


345

Değişkenliği yapılandırmak için adım adım, basit ve kolay bir yola ihtiyacım var.


17
Bir linersudo bash -c "echo 'vm.swappiness = 15' >> /etc/sysctl.conf"
redanimalwar

8
@redanimalwar ayrıca sudo sysctl -psysctl.conf dosyasındaki yeni swappiness değerini yüklemek için de çalıştırmanız gerekir , aksi halde değişiklik sadece bir sonraki açılışta geçerlidir.
waldyrious

Yanıtlar:


509

Linux çekirdeği, takas dosyasının ne sıklıkta kullanıldığını kontrol eden değiştirilebilen bir ayar sağlar.

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'lık bir değere sahiptir, yani bellek kullanımı RAM'imin yaklaşık yarısı kadar olduğunda takas dosyası oldukça sık kullanılır. 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ılacaktır. Sistemin takas değerini değiştirmek için kök/etc/sysctl.conf olarak açın . 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ın.

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 -aardından swapon -ayeniden başlatma yerine kök olarak da temizleyebilirsiniz .

Değişim Formülünüzü 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, bunun anlamı, % 10 (395 MB) koç bırakıldığında, takas kullanmaya başlamasıdır.


                                          Yardım . Ubuntu. takas

                                           Swappiness nedir

Değişim parametresi, çekirdeğin, işlemleri fiziksel bellekten ve değiştirme diskine taşıma eğilimini kontrol eder. Diskler RAM'den çok daha yavaş olduğundan, işlemler çok agresif bir şekilde bellekten taşınırsa, sistem ve uygulamalar için daha yavaş yanıt sürelerine neden olabilir.

  • swappiness 0 ile 100 arasında bir değere sahip olabilir.
  • swappiness=0:
    • Çekirdek 3.5 ve daha yeni bir sürüm: takas özelliğini devre dışı bırakır.
    • 3.5'ten daha büyük olan çekirdek sürümü: İşlemleri fiziksel bellekten mümkün olduğunca uzun süre değiştirmeyi önler.
  • swappiness=1:
    • Çekirdek sürüm 3.5 ve üstü: tamamen devre dışı bırakmadan minimum değişim.
  • swappiness=100:
    • Çekirdeğe, işlemleri fiziksel bellekten agresif bir şekilde takas etmesini ve önbellek takas ettirmesini bildirir.

Bkz. Http://en.wikipedia.org/wiki/Swappiness .

Ubuntu’da varsayılan ayar swappiness=60. Varsayılan takas değerinin azaltılması, tipik bir Ubuntu masaüstü kurulumunda genel performansı artıracaktır. Değeri swappiness=10önerilir, ancak deneme yapmaktan çekinmeyin.


Örnek

% 91 oranında swap kullanmaya başladı :

görüntü tanımını buraya girin Ben RAM faydalanmak için sistemimi & vm yapılandırılmış gibi % 90 , en % 90 hayır takas yoktu.

Ondan sonra Firefox & Shutter gibi bazı uygulamaları açtım ve RAM kullanımı % 90'ın üzerinde olduğu için değişmeye başladı .


118
100'ün takası, programların derhal değiştirilmesini sağlamaz, ayrıca koç% 60 veya% 90 dolu olduğunda 60 veya 90 ortalama takas değeri kullanılır. Sayfaların önbellekten çalınması, yeterli miktarda bellek kullanılmaması durumunda bazı şeylerin silinmesi tercih edilme oranıdır. Düşük bir değer, sayfaları önbellekten çalmayı şiddetle tercih eder ve yüksek bir değer, sayfaları denemeyi ve değiştirmeyi şiddetle tercih eder. Bu ayar yalnızca hafıza tamamen kullanıldığında ve çekirdeğin nasıl serbest bırakılacağını seçmesi gerektiğinde herhangi bir etkisi olur.
psusi

67
Programların çalıştırılmasıyla meşgul olmayan RAM'in disk önbelleği olarak kullanıldığını belirtmeniz gerekir ... bu nedenle, takas miktarını azaltarak, bir programın değiştirilmemesi olasılığını artırırsınız, ancak aynı zamanda boyutu küçültür disk erişimini yavaşlatabilen disk önbelleği. Bu ayarın gerçek performans üzerindeki etkileri o kadar basit değil ... tabii ki deneyimlemeye hoş geldiniz ancak varsayılanların konuyu yeterince anlayan insanlar tarafından belirlendiğinden şüpheleniyorum :)
Sergey

14
@Sergey ve bunun ironisi, küçük RAM'lere sahip olanların performansı artırmak için karşılaşabilecekleri her numarayı deneyecekleri ve 60 ya da daha yüksekleri için en iyi rakam olacak insanlar olma ihtimalinin yüksek olması. Biz bunu 10'a ayarlıyoruz çünkü tonlarca RAM'imiz varsa, kaybedecekleri kadar kazanmıyor.
Jon Hanna,

6
@Freedom_Ben: Bkz. Linuxatemyram.com :)
Sergey

5
Sadece burada benzer bir tartışma bırakarak - unix.stackexchange.com/questions/88693/…
Elijah Lynn
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.