Çünkü çoğu kişi değiş tokuş yapmanın kötü olduğuna ve değiş tokuş yapmazsanız sistemin gerçekten gerekmediğinde değiş tokuş edeceğine inanıyor. Bunların hiçbiri gerçekten doğru değil. İnsanlar takas sistemlerini tıkanmış zamanlarla ilişkilendirir - bununla birlikte çoğunlukla takas edilir, çünkü sistem tersine tıkanır, tersi olur. Sistem değiştiğinde, takas etme kararında performans maliyetini çoktan etkilemiş olacaktı ve bunu yapmamanın sistem performansı veya istikrarında daha büyük bir toplam ceza almasına karar verecekti.
Genel olarak, varsayılan ayarlar iyi bir genel performans ve kararlılıkla sonuçlanır. Varsayılan ayarda bırakmanızı tavsiye ederim. Linux'un bazı ileri vakaları çözmek için bellek yönetimini iyileştirmesi için başka yollar da var, ancak büyük ölçüde swappiness kontrolü iyi bir geçici çözüm değil - tek bir yöne ayarlayın ve bir sorunu düzeltip başka sorunlar yaratabilirsiniz. Mümkünse, sadece daha fazla fiziksel RAM (ve yalnızca değiş tokuş etmek bırakarak) kurmak, diğer tüm çözümleri kapatır.
Linux RAM nasıl kullanır?
Uygulamalar tarafından kullanılmayan herhangi bir RAM "önbellek" olarak kullanılabilir. Önbellek hızlı, sorunsuz çalışan bir sistem için önemlidir, hem okuma hem de hızlanmasını hızlandırır.
Uygulamalarınız, bellek kullanımlarını neredeyse tüm RAM'lerinizi kullandıkları noktaya kadar yükseltirse, önbelleğiniz küçülür ve bunun sonucunda ortalama disk işlemleri yavaşlar. Bugünlerde önbellek için yalnızca onlarca megabayt veya daha azına sahip olmak yeterli değildir.
Uygulamalar belleklerini daha da arttırırsa - takas alanınız olmadığını varsayarsak - yalnızca önbellek için alanınız olmaz, ancak sonunda bellek yetersiz kalır ve sisteminiz çalışan işlemleri sonlandırmak zorunda kalır. Öldürme işlemleri, kararsız, öngörülemeyen bir sistem sağladığından yavaşlamaktan daha kötüdür.
Linux, takas yöntemini nasıl kullanır?
Bu sorunların her ikisiyle de mücadele etmek için, sisteminiz nadiren kullanılan bazı uygulama belleğini diskinizdeki takas alanına yeniden ayırabilir ve RAM'i serbest bırakabilir. Ek RAM, yetersiz bellek nedeniyle işlemlerin bitmesini önleyebilir ve disk işlemlerinin daha sorunsuz çalışabilmesi için küçük bir önbelleği geri alabilir.
Bu yeniden tahsis kesin bir kesime göre yapılmaz. Linux değişmeye başladıktan sonra belirli bir tahsisat yüzdesine erişemezsiniz. "Bulanık" bir algoritmaya sahiptir. En çok "hafıza tahsisi için ne kadar baskı var" ile tanımlanabilecek birçok şeyi dikkate alır. Yeni bellek tahsis etmek için çok fazla "baskı" varsa, o zaman daha fazla yer açmak için bazılarının değişme olasılığı artacaktır. Daha az "baskı" varsa, bu şansı azaltacaktır.
Sisteminizde, bu "baskının" nasıl hesaplanacağını ayarlamanıza yardımcı olacak bir "takas" ayarı vardır. Genellikle "RAM yüzdesi" olarak gösteriliyor ancak bu, formülün bir parçası olarak kullanılan bir değer değil. 40 ila 60 arasındaki değerler önerilen akıl değeridir, 60 bugünlerde varsayılandır.
Zorunlu olduğunda sisteminizin değişmesine izin vermek, çok fazla RAM olsa bile, genel olarak çok iyi bir şeydir. Sisteminizin, geçici olarak bile olsa düşük bellek durumuyla karşılaşırsanız (çok fazla bellek kullanan kısa bir işlem yürütürken), sisteminizin her şeyin çalışmasını sağlamada ikinci bir şansının olacağı konusunda size gönül rahatlığı sağlamanız gerekiyorsa değiştirmesini sağlayın. Tamamıyla değiş tokuş yapmayı devre dışı bırakacak kadar ileri giderseniz, bellek ayıramadığınız için süreçleri öldürme riskiniz vardır.
Sistem kapatılıp ağır şekilde değiştirilirken neler oluyor?
Değişim işlemi yavaş ve maliyetli bir işlemdir, bu nedenle sistem önbellek performansındaki değişimin genel olarak telafi edeceğini veya öldürme işlemlerinden kaçınılması gerekmediğini hesaplamadığı sürece sistemden kaçınır.
İnsanlar çoğu zaman diski ağır şekilde kıran sistemlerine bakacak ve çok fazla takas alanı kullanacak ve bunun için takas etmekle suçlayacaklar. Bu almak için yanlış bir yaklaşım. Eğer takas yapmak hiç bu kadar aşırı noktaya ulaşırsa, takas işleminin sisteminizin düşük bellek sorunlarıyla başa çıkma denemesi olduğu, sorunun nedeni değil ve çalışan sürecinizi değiştirmeden rasgele olarak öleceği anlamına gelir.
Masaüstü sistemlerinden ne haber? Farklı bir yaklaşım gerektirmiyorlar mı?
Bir masaüstü sisteminin kullanıcıları, sistemin, gerekli belleğin artmasından dolayı bazen bir takas işlemini tetikleyebilecek bir eylem türü olan, bir uygulamayı açmak gibi kullanıcının başlattığı eylemlere cevaben "duyarlı" olmalarını bekler.
Bazı kişilerin bunu düzeltmeye çalışmasının bir yolu, sistemin belleği tüketen ve önbellek boşluğu az olan uygulamalara toleransını artırabilecek olan takas parametresini azaltmaktır.
Ancak, bu sadece değişen hedefleridir. İlk uygulama şimdi bir değiştirme işlemi olmadan yüklenebilir, ancak yüklenen bir sonraki uygulama için daha az gevşeklik bırakacaktır. Aynı takas, daha sonra, bunun yerine bir uygulamayı açtığınızda ortaya çıkabilir. Bu arada, sistem performansı düşük önbellek boyutundan dolayı genel olarak düşüktür. Bu nedenle, azaltılmış takas ayarından herhangi bir kazancın ölçülmesi zor olabilir, bazı zamanlarda takas gecikmesini azaltır, ancak diğer zamanlarda başka yavaş performansa neden olur. Ne yaptığınızı biliyorsanız, değiş tokuşun biraz azaltılması gerekçeli olabilir, ancak% 10'a kadar düşürmek sistemi çok düşük önbellek boyutlarına toleranslı bırakabilir ve sistemi kısa sürede takas etmek zorunda bırakabilir.
İşlemlerin çökmesine veya ölmesine neden olabilecek yetersiz bellek koşullarına karşı ek koruma kaybederken, takas işleminin tamamen devre dışı bırakılması önlenmelidir.
Şimdiye kadarki en etkili çözüm, paranızın karşılığını daha fazla RAM takmak.
Yine de çok RAM olan bir sistemde takas işlemi devre dışı bırakılabilir mi?
Uygulamalar için ihtiyaç duyduğunuzdan çok daha fazla RAM’iniz varsa, nadiren takas yapmanız gerekir. Değişimi devre dışı bırakmak muhtemelen çoğu zaman bir fark yaratmaz. Ancak, fazla miktarda RAM'iniz varsa, takas özelliğini etkin bırakmak aynı zamanda herhangi bir ceza almaz çünkü sistem gerekmediğinde takas yapmaz.
Hangi yalnızca durumlar olur fark yaratacak sistem kendisi bellek ve dolayısıyla önbellek sistemi engellenmektedir oluyor bitiyor bulur olası bir durumda olurdu ve bunu olurdu bu tür durumlar öyle istiyorum en takas. Böylece, bol miktarda belleğiniz olduğunda olumsuz bir etkisi olmadan, daha fazla gönül rahatlığı için takas işlevini normal ayarlarında güvenle bırakabilirsiniz.
Peki takas sistemimi nasıl hızlandırabilir? Yavaş yavaş şeyler değişmiyor mu?
RAM'den değiş tokuş etmek için veri aktarma işlemi yavaş bir işlemdir, ancak yalnızca çekirdeğin makul bir önbellek boyutunu korumanın bir sonucu olarak genel faydadan daha ağır çıkacağından emin olması durumunda alınmaktadır.
Veri takas edildiğinde, tekrar ne zaman çıkıyor?
Belleğin verilen herhangi bir kısmı, kullanıldığında veya okunduğunda, en kısa sürede değiştirilecektir. Bununla birlikte, tipik olarak değiştirilen hafıza, uzun zamandır erişilmeyen ve yakında ihtiyaç duyulması beklenmeyen bir hafızadır.
Verileri takas dışına aktarmak, oraya koymak kadar zaman alıcıdır. Çekirdeğiniz gerekmediğinde verileri ondan kaldırmaz. Veri takas ve değil kullanılıyor olsa da, başka şeyler için daha fazla bellek bırakır edilir kullanılıyor ve daha sistem önbelleği.
Değişimin azaltılmasının uygun olduğu durumlar var mı?
Evet. Sistem önbelleğinden faydalanmayan belirli bir sunucu uygulamasına adanmış bir sunucu kullanıyorsanız. Oracle sunucusu, MySQL / MariaDB gibi bazı veritabanı sunucuları, bazı durumlarda, bu veritabanı motorları kendi önbelleklerini kullandığından, takasın 1 ila 10'a düşürülmesini önerir.
Bunun sadece sisteminiz bu göreve adanmışsa ve MySQL / MariaDB durumunda, yalnızca tamamen InnoDB veya XtraDB kullanıyorsanız, MyISAM veya Aria vb. Kullanıyorsanız geçerlidir.