zram

Dopo quattro anni nell’area di staging dei driver di Linux, zram è stato introdotto nel kernel Linux mainline nella versione 3.14, rilasciata il 30 marzo 2014. Dalla versione 3.15 del kernel Linux in poi (rilasciata l’8 giugno 2014), zram supporta più flussi di compressione e più algoritmi di compressione. Gli algoritmi di compressione includono DEFLATE (DEFLATE), LZ4 (LZ4, e LZ4HC “alta compressione”), LZO (LZO-RLE “run-length encoding”), Zstandard (ZSTD), 842 (842). Dal kernel 5.1, il default è LZO-RLE, che ha un equilibrio tra velocità e rapporto. Come la maggior parte degli altri parametri di sistema, l’algoritmo di compressione può essere selezionato tramite sysfs.

Quando viene usato come spazio di swap compresso, zram è simile a zswap, che non è un disco RAM generico, ma piuttosto una cache compressa nel kernel per le pagine di swap. Fino all’introduzione di CONFIG_ZRAM_WRITEBACK nella versione 4.14 del kernel, a differenza di zswap, zram non poteva usare un disco rigido come backing store, quindi non poteva spostare su disco le pagine usate meno frequentemente. Tuttavia, zswap richiede un backing store, ma zram no.

Quando viene usato per lo swap, zram (come zswap) permette a Linux di fare un uso più efficiente della RAM, poiché il sistema operativo può contenere più pagine di memoria nello swap compresso che se la stessa quantità di RAM fosse stata usata come memoria dell’applicazione o cache del disco. Questo è particolarmente efficace su macchine che non hanno molta memoria. Nel 2012, Ubuntu ha brevemente considerato di abilitare zram per impostazione predefinita sui computer con piccole quantità di RAM installata.

Uno spazio di swap compresso con zram e zswap offre anche vantaggi per i dispositivi hardware di fascia bassa come i dispositivi embedded e netbook. Tali dispositivi di solito usano storage basato su flash, che ha una durata limitata a causa dell’amplificazione della scrittura, e lo usano anche per fornire spazio di swap. La riduzione dell’uso di swap come risultato dell’uso di zram riduce efficacemente la quantità di usura di tale memoria basata su flash, con il risultato di prolungare la sua vita utile. Inoltre, l’uso di zram si traduce in un I/O significativamente ridotto per i sistemi Linux che richiedono lo swapping.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.