Cleancache vs zram?

9

Saya memiliki laptop lama di sini dengan hanya 512 MB RAM. Karena beberapa rilis kernel, saya menggunakan zram untuk mengkonversi 256 MB dari itu ke ramdisk terkompresi yang kemudian digunakan sebagai swap. Ini telah terbukti sangat sukses dan sistem ini jauh lebih responsif, penggunaan swap (yang didukung hard disk) telah turun secara signifikan, yang memperlambat sistem sebelumnya.

Sejak linux 3.0, kernel juga menyertakan cleancache yang, menggunakan sesuatu seperti zram sebagai backend seharusnya secara kompres mengkompres halaman dari cache halaman. Sejauh yang saya bisa lihat, ini berbeda dari zram .

Haruskah saya mengaktifkan keduanya di laptop saya? Atau apakah cleancache benar-benar menggantikan solusi zram ?

Sunting: Saya telah menemukan tautan forum gentoo ini , di mana sepertinya saya juga harus mengaktifkan CONFIG_ZCACHEyang kemudian membuat cleancache menggunakan zram untuk mendapatkan sesuatu yang mirip dengan yang saya miliki sebelumnya. Jadi sepertinya saya mengaktifkan semua ini dan tidak menggunakan zram secara eksplisit sesudahnya. Adakah yang bisa mengkonfirmasi ini?

Lytenyn
sumber

Jawaban:

9

Zram menciptakan perangkat blok yang didukung oleh ram terkompresi. Anda dapat menggunakan perangkat blok itu untuk swap. Biasanya tekanan memori pertama kali menghasilkan cache yang dibuang, dan hanya setelah sebagian besar cache telah dibebaskan dan memori masih kencang, sistem mulai bertukar.

CleanCache memungkinkan halaman-halaman dari cache halaman dimigrasikan ke bagian belakang, seperti xen tmem, yang merupakan memori yang dikelola oleh hypervisor dan dibagikan di antara banyak tamu VM. Tujuannya adalah untuk memungkinkan beberapa tamu VM melakukan caching data yang sama untuk melakukannya dengan menggunakan ram yang sama, alih-alih masing-masing memiliki cache sendiri dengan salinan data yang sama.

ZCache adalah ujung belakang CleanCache lainnya. Alih-alih meneruskan memori ke hypervisor untuk menahan (yang hanya berlaku jika Anda menggunakan lingkungan Xen VM), itu menyimpan halaman cache yang dikompresi dalam ram, mirip dengan Zram. Perbedaannya adalah bahwa ZCache secara transparan menyimpan halaman cache, tetapi Zram menciptakan perangkat blok yang dapat Anda gunakan untuk bertukar.

Jika Anda memiliki aplikasi yang haus memori, maka Anda akan memerlukan ruang swap untuk mendukungnya, jadi Anda masih ingin menggunakan zram (kemungkinan dengan nilai swappiness yang sangat tinggi). Ini karena CleanCache hanya memampatkan halaman cache; memori aplikasi harus dikirim untuk swap. Jika Anda tidak menggunakan semua memori Anda pada aplikasi, maka Anda dapat menggunakan CleanCache dengan backend ZCache untuk membuat lebih efektif menggunakan memori yang tersisa untuk cache disk dengan mengompresi cache disk. Anda bahkan dapat menggunakan campuran dari kedua teknik ini.

psusi
sumber
OK, terima kasih, jadi halaman cache hanya untuk cache disk, bukan untuk memori aplikasi. Bagi saya ini tidak jelas.
lytenyn
7

Sebagai tambahan untuk jawaban di atas, lihat juga https://lwn.net/Articles/454795 untuk penjelasan rinci tentang teknologi ini.

Dari apa yang saya mengerti, zram akan digantikan oleh frontswap , yang belum ada di kernel mainline tetapi yang memiliki keuntungan bahwa tidak ada ukuran swap tetap yang harus dikonfigurasi. Ini akan membuatnya mudah untuk mengaktifkan cleancache dan frontswap (bukan zram dan cleancache , di mana memori yang digunakan untuk zram tidak dapat digunakan untuk cleancache ).

Lytenyn
sumber