Linux değişimi - Çekirdek VM ayarlarını yapma


9

Bunu okumadan önce, önbelleğe almanın yararlarını anladığımı lütfen unutmayın. Kullanılmayan koçun boğulan koç olduğu dogmaya aşinayım.

Bu soru, önceki bir sorudan uyarladığım bir sorudur:

linux önbellekli koç silme

Bu soruda sunucumun RAM'i nasıl kullandığını ve önbelleğe aldığını ayarlamayı merak ettim. Sistem oldukça dinamik olduğundan , önbelleğe alınan dosyaların bana çok fazla kazanç sağlamadığına inanıyorum . Ayrıca, sunucuda, video dosyalarını işlemek için kısa sürede büyük miktarlarda ram'a hızlı bir şekilde erişmesi gereken kodumuz var ve inanıyorum ki, ramın doğrudan teslim edilmesinden ziyade önbellekten temizleyip daha sonra performans avantajı göreceğim. teslim.

Herhangi birinizin aşağıdaki dosyada varsayılan değeri 60 ayarlama konusunda deneyiminiz olup olmadığını öğrenmek istiyorum (bu bir Ubuntu sunucusunda olur):

/proc/sys/vm/swappiness  

Ve eğer öyleyse, ne etkiler gördün. Varsayılan değer olan 60'ı 30 ile değiştirirsem daha az takas ve daha fazla eski önbellek kullanımı görecek miyim? Değiştirmeyi azaltmak ve önbelleğin yeniden kullanımını artırmak için 0 veya 100'e yaklaşıyor muyum?

Son olarak, varsayılanın neden 60'a ayarlandığını bilen var mı?

NOT: 0'a yakınsa, Linux uygulamaları RAM'de tutmayı ve önbellekleri büyütmemeyi tercih edecektir. 100'e yakınsa, Linux uygulamaları değiştirmeyi ve önbellekleri mümkün olduğunca genişletmeyi tercih eder. Varsayılan sağlıklı 60'tır. - Aşağıdaki bağlantı için teşekkürler, 3dInfluence.

Yanıtlar:


6

Düzenleme: Cevabı daha kısa ve daha açık umuyoruz ki yeniden yazdım :)

Gerçekten, ayarlanabilen teçhizatları değiştirmeye başlamak için VM alt sisteminin bir bütün olarak nasıl çalıştığını anlamanız gerekir veya beklediğiniz sonuçları elde edemeyeceğinizi görebilirsiniz. Bu makale , bu ayarların bir masaüstü eğimiyle birlikte nasıl çalıştığı konusunda oldukça iyi bir başlangıç ​​noktasıdır.

Sorunuza çok daha fazlası. Değişkenlik, VM alt sistemi işlem tablo sayfalarının eşlemelerini kaldırarak ve sayfalara ayırarak, diğer bir deyişle, değiştirerek geri aldığını denetler. Bu ayarlanabilir, VM alt sistemine, işlem sayfası tablolarına + swappiness değeri> 100'e eşlenen belleğin% 'si değiştiğinde sayfaların değiştirilmesini aramasını söyleyerek çalışır. Bu nedenle 60 ayarı, sistemin eski sayfaları işlem sayfasından çıkarmaya başlamasına neden olur. sistem belleğinizin% 40'ından fazlasını kullanırken Programlarınızın önbellek pahasına daha fazla bellek kullanmasına izin vermek istiyorsanız, swappiness değerini düşürmek istersiniz. Ayrıca / proc / sys / vm / min_free_kbytes ve / proc / sys / vm / vfs_cache_pressure'a göz atmak isteyeceksiniz. Bu aynı zamanda ne kadar belleğin yedekte tutulacağını ve önbelleğin ne kadar agresif olduğunu kontrol edecektir.


@ 3dinfluence - Yukarıda bahsettiğiniz makale üzerinde çalışıyorum. Büyük Kaynak!
Patrick R

1
linuxinsight.com/proc_sys_vm_hierarchy.html , ayarlanabilen her öğenin ne yaptığına dair bir veya iki cümle verir. Ama "Linux Sunucuları için Performans Ayarlama" adlı bir kitaptan swappiness'in nasıl çalıştığı hakkında bilgi aldım
3dinfluence

+1 teşekkürler 3dinfluence. Şu ana kadar bu kitap son derece eğiticiydi.
Patrick R

Bu harika .... uygulamanızın performansını artırmayı başardınız mı?
3dinfluence

Performansı arttırabildim. Ayrıca, aşağıdaki komutun tweeking sırasında yardımcı olduğunu keşfettim: # sysctl -w vm.swappiness = 40
Patrick R
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.