Zswap, Zram, Zcache masaüstü kullanım senaryoları


12

Zswap, Zram ve Zcache için kullanım durumlarındaki farkı anlamaya çalışıyorum . Uzun / hafifçe özensiz ifade edilen soru için özür dileriz. Bir sürü googling yaptım ve zram'ın sıkıştırılmış takas için bir blok cihaz olduğunu anlıyorum, zswap frontswap api'yi kullanarak çekirdeğe sıkıştırıyor. Zswap'ın bir avantajı, baskı altındayken bazı sayfaları LRU tarzında bir destek swapına taşıyabileceği, zram bunu yapamayacağıdır (lütfen doğrulayın, bunun doğru olup olmadığından emin olun).

İşte sorum: 1.) Bir masaüstü kullanıcısı olarak, zcache / zswap / zram, özellikle zswap ve zram arasındaki performans farkı nedir? Örneğin, bellek parçalanmasında çok daha iyi / kötü (aşırı bellek kullanımı ve israfına yol açan tür)?

Bonus soru: 2.) Masaüstü performansı (masaüstünün yanıt verebilirliği, ayrıca minimal yıkıcı takas davranışı ve akılcı bellek yönetimi dahil) için yukarıdakilerin (örneğin, zram + zswap veya zram + zcache) olası ideal bir kombinasyonu var mı?

* Kaynakların alıntılanması büyük beğeni topluyor.

Yeterince deneyimli bir Linux kullanıcısı olduğumu (5 yıl) eklemeliyim ve çekirdek dahil sistemimin nasıl çalıştığını gerçekten anlamaya çalıştım. Ancak, ben bir programcı değilim ve sadece çok temel programlama bilgisine sahip (3 kredi kolej ders). Ancak gerekirse teknik olun; Anlamını kendi zamanımda ayrıştıracağım.

Sistem özellikleri:

Linux Mint 15
Processor:Core 2 Quad 6600 (2.4ghz)
Ram: 8G
linux kernel: liquorix 3.11 series
Storage: 128 GB SSD, 1TB HDD 5400rpm

"Daha fazla koç satın al" yorumu yok, lütfen! Bu anakarttaki koçu en üst düzeye çıkardım ve öngörülebilir gelecek için 0 dolarlık bir yükseltme bütçem var. Bununla birlikte, açık bellek yoğun programları (ram'ımın ana tüketicileri olan birden fazla tarayıcı) tutmayı seviyorum, bu yüzden makul performans düşüşü sınırları içinde takas etmeyi umursamıyorum.


Yanıtlar:


7

Bu soruları cevaplamaya çalışmanın en iyi yolu, bu üçünün gerçekte ne olduğunu söylemektir.

zRAM

zRAM özünde takas cihazından başka bir şey değildir. Bellek yönetimi sayfaları takas cihazına gönderir ve zRAM bu verileri sıkıştırarak gerektiğinde bellek tahsis eder.

Zswap

Zswap, çekirdek tarafından dahili olarak atanan ve takas aygıtı olarak görünmeyen sıkıştırılmış bir takas alanıdır. Önden takas tarafından bir takas cihazının kullanılabileceği şekilde, ancak daha verimli bir şekilde kullanılır.

Zcache

Zcache, frontswap ve cleancache'in ön ucudur.

Zcache, zRAM'ın yerini alır, böylece her ikisinin de kaynaklar üzerinde savaşmasını istemezsiniz, ancak doğru koşullar göz önüne alındığında, ikisinin birlikte nasıl çalışabileceği hakkında bir konuşma var. Şimdilik bunu denemek için uğraşmam ve uzmanlara bırakmam.

Bazı okumalar:
Cleancache vs zram?
https://lwn.net/Articles/454795/
https://www.kernel.org/doc/Documentation/vm/zswap.txt
http://www.zeropoint.com/Support/ZCache/ZCachePro/ZCacheAdvantages.html

Şahsen, zRAM'ı devre dışı bıraktım ve yeterince yeni bir çekirdeğe sahip tüm sistemlerimde Zcache'yi etkinleştirdim (zRAM hala Android cihazlarda etkindir).

Performansa gelince: bu, kendinize bakmanız gereken bir şey. Herkes farklı. Teorik olarak, Zcache zRAM'den çok daha fazla bellek verimli olmalı ve iki düzeyde (frontswap ve cleancache) çalışır ve gerektiğinde bir takas cihazına (örneğin sabit diskte) sayfa atabilir. Ayrıca çok fazla CPU kullanıyorsa hangi sıkıştırma algoritmasını kullanacağınızı da seçebilirsiniz (ki bunu hayal edemiyorum).

Güncelleme : Zcache 3.11 çekirdekten kaldırıldı (şimdilik), bu nedenle zRAM daha yeni çekirdeklerde tek seçenek haline geldi. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1256503/comments/3 http://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git / taahhüt /? id = 96256460487387d28b8398033928e06eb9e428f7


1
Zswap , zswap.enabled=1Linux komut satırına eklenerek en son çekirdeklerde etkinleştirilir .
Ken Sharp
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.