Swappiness ayarı, Linux'un belirli bir senaryoda değiş tokuşun faydalarını / dezavantajlarını hesaplama biçiminde yapılan bir değişikliktir. Yüksek bir swappiness, gerekmediğinde sistemin değişmesine neden olmaz ve düşük swapiness, tamamen değiştirmeyi devre dışı bırakmamanız koşuluyla, sisteminizin kesinlikle gerektiğinde değiştirilmesini engellemez.
60 ya da daha fazla varsayılan swappiness, kullanılmayan ayrılmış program belleği varken önbellek ayırmak için çok zorlamadığından emin olarak sisteminizin iyi bir performans göstermesini sağlayan çok iyi bir uzlaşmadır.
Tüm işlemleriniz ve önbellek için bol miktarda RAM'iniz varsa, genellikle bol miktarda fiziksel RAM'iniz varsa durum böyle olmalıdır, takas zaten sizin için bir sorun olmamalıdır. Çok fazla takas sorununu gidermenin tercih edilen yolu, işlemlerin RAM kullanımını azaltmak ve / veya fiziksel RAM'i arttırmaktır. Gerçekten ihtiyacınız olan şey daha fazla RAM ise, swappiness'i azaltmanın olumsuz bir etkisi olacaktır.
Çoğu insan neden swappiness'i 10-20'ye düşürmeyi önerir?
Çoğu, takasın = kötü olduğuna ve takas oranını azaltmazsanız, sistemin gerçekten ihtiyaç duymadığında takas edeceğine inanmaktadır. Bunların hiçbiri gerçekten doğru değil. İnsanlar takaslarını sistemlerinin çöktüğü zamanlarla ilişkilendiriyorlar, ancak çoğunlukla takas oluyor çünkü sistem tersine dönüyor, tersine değil. Takasın fark edilir bir performans cezasına sahip olabileceği belirli zamanlar olduğu doğrudur, ancak sistem zaten takas etme kararında bunu hesaba katmış olacak ve bunu yapmamanın sistem performansı veya istikrarı için daha büyük bir genel cezaya sahip olacağına karar verecektir. daha sonra fark edilir hale gelir. Genel olarak, varsayılan ayarlar en iyi genel performans ve güvenilirlik ile sonuçlanmalıdır. Varsayılan olarak bırakmanızı tavsiye ederim.
...
Düzgün çalışan bir önbellek için yeterli bellek kalmayacak kadar bellek kullandıktan sonra, Linux kullanılmayan bazı uygulama belleğini takas etmek için RAM'den yeniden tahsis edebilir.
Ancak kesin bir kesime göre bunu yapmaz. Belli bir tahsis yüzdesine ulaştığınız gibi değil, Linux değişmeye başlar. Oldukça "bulanık" bir algoritmaya sahiptir. En iyi şekilde "bellek tahsisi için ne kadar baskı olduğu" ile açıklanabilecek birçok şey hesaba katılır. Yeni bellek ayırmak için çok fazla "baskı" varsa, o zaman bazılarının daha fazla yer açmak için takas şansını artıracaktır. Daha az "basınç" varsa, bu şansı azaltacaktır.
Sisteminizde, bu "basıncın" nasıl hesaplandığını değiştirmenize yardımcı olan bir "swappiness" ayarı vardır. Normalde bunu değiştirmemeniz tavsiye edilmez ve kesinlikle değiştirmenizi tavsiye etmem. Takas yapmak genel olarak çok iyi bir şeydir - ara sıra performans cezalarının, çok çeşitli görevler için genel sistem duyarlılığı ve istikrarı ile dengelenmesi amaçlanmıştır. Değişmeyi azaltırsanız, önbellek miktarının, gerçekten yararlı olsa bile, aksi takdirde biraz daha fazla büzülmesine izin verirsiniz. Bu nedenle, genel olarak bilgisayarınızı yavaşlatma riskiyle karşı karşıya kalırsınız, çünkü bellek bile onu kullanmayan uygulamalar tarafından alınırken daha az önbellek vardır. Bunun, takasla ilgili yaşadığınız belirli bir sorun için yeterince iyi bir değişim olup olmadığı size bağlıdır.
Sistem çöktüğünde ve yoğun bir şekilde değiştiğinde ne oluyor?
Çoğu zaman insanlar diski yoğun bir şekilde çökerten ve takas alanı kullanan ve bunun için suçlayan sistemlerine bakacaklar. Bu yanlış yaklaşımdır. Eğer takas bu uç noktaya ulaşırsa, sisteminizin belleği son derece düşüktür ve takas işlemi, işlemleri rastgele çökmesine veya öldürmesine engel olan tek şeydir. Değiştirmeden, bu durumda süreçler çökecek ve ölecektir. Değiştirme, daha derin bir sorunun belirtisidir. Tüm görevleri için yeterli belleğe sahip bir sistemde takas, yalnızca belleğin verimli bir şekilde kullanılmasını sağlar ve belleğe değeceğini gördüğü hareketsiz süreçler üzerinden önbelleğe dağıtır. Değiştirmenin diski durmaksızın durdurduğu bir sistemde, değiştirmenin hatası değildir.
Diske ne değiştirileceğini seçerken, sistem gerçekte kullanılmayan belleği okumaya çalışır. Bunu hesaplamak için çoğu zaman iyi bir seçim yapan oldukça basit bir algoritmaya sahiptir.
...
Ancak takas sistemimi nasıl hızlandırabilir? Yavaş şeyleri değiştirmiyor mu?
RAM'den takas için veri aktarma işlemi yavaş bir işlemdir, ancak yalnızca çekirdeğin genel yararın bundan daha ağır basacağından emin olduğu zaman alınır. Örneğin, uygulama belleğiniz neredeyse hiç önbelleğiniz kalmadığı noktaya yükseldiyse ve bu nedenle G / Ç'niz çok verimsizse, hatta biraz bellek boşaltarak sisteminizden çok daha fazla hız alabilirsiniz. veriyi boşaltmak için ilk takas masrafından sonra.