This is an old revision of the document!
zram su Slackware
Cos'è zram
zram
(conosciuto in precedenza anche come compcache
) è un modulo del Kernel Linux che permette di creare un area di swap compressa, direttamente nella RAM. Questo modulo permette a dispositivi con poca RAM (es. vecchi PC, netbook, notebook, smartphone, sistemi embedded, etc.) di aumentare le performance generali del sistema. Inoltre avendo la swap in RAM permette ai dispositivi che usano memorie di tipo flash (es. sdcard, {mini,micro}sd) di non swappare su di essa. In questo modo la vita della memoria flash si allunga notevolmente in quanto non ci saranno cicli di lettura/scrittura.
Il modulo è presente sin dalla versione 3.2 del Kernel Linux ed stato diverso tempo in staging ma dalla versione 3.14 del Kernel Linux è in mainline.
Installiamo zram
Scarichiamo il modulo
In Slackware il modulo non è fornito out-of-the-box ma è possibile compilarlo avendo a disposizione i sorgenti del kernel Linux.
Per facilitare il compito scarichiamo dal mio repository (http://lotar.altervista.org/slackbuilds) il pacchetto precompilato presente nella directory /slackbuilds/zram-kernel-module/pkg oppure possiamo utilizzare il tool slackpkg
insieme a slackpkgplus
(per informazioni su come configurare il repository clicca qui).
# slackpkg update # slackpkg install zram-kernel-module
Il pacchetto precompilato, è disponibile per l'architettura x86_64 e per la versione del Kernel Linux rilasciata da Patrick per la -current.
Nel caso in cui è necessario utilizzare zram
per un'altra architettura (es. arm) o per una versione stabile di Slackware, è possibile compilare il modulo utilizzando lo SlackBuild fornito. Leggere il README
presente nella directory per le istruzioni sulla compilazione.
Configuriamo
Dopo aver installato il modulo è necessario caricarlo in modo da creare il dispositivo a blocchi (di default ne crea uno solo in /dev/zram0
), impostare la dimensione della swap, formattare la swap e attivarla.
# modprobe zram # echo 1024*1024*1024 | bc > /sys/block/zram0/disksize # mkswap /dev/zram0 # swapon /dev/zram0
Per facilitare il compito è disponibile lo script /etc/rc.d/rc.zram
che permette lo stop & start in stile Slackware.
Di default lo script creerà una memoria di swap di 1GiB (1024MiB). E' possibile cambiare la dimensione modificando la variabile SIZE
presente nello script.
Per abilitare zram
direttamente all'avvio della macchina basta dare i permessi di esecuzione allo script:
# chmod +x /etc/rc.d/rc.zram