Creare uno swap Zram

Creare uno swap Zram

Definizione (presa da https://www.linux.com/news/all-about-linux-swap-space/):

Linux divide la sua RAM fisica (memoria ad accesso casuale) in chunks di memoria chiamati pagine. Lo swap è il processo mediante il quale una pagina di memoria viene copiata nello spazio preconfigurato su disco, chiamato spazio di swap, per liberare quella pagina di memoria dalla RAM. Le dimensioni combinate della memoria fisica (RAM) e dello swap rappresentano la quantità di memoria virtuale disponibile.

Lo swap è ancora necessario anche con grandi quantitativi di RAM perché Linux di suo lo usa in alcuni casi; per esempio se si imposta l’ibernazione, ma anche può essere usato all’avvio delle applicazioni, e solo al loro avvio. Ci sono 4 modi per usare lo swap:

  1. una partizione di swap
  2. un file di swap su disco (swapfile)
  3. un file di swap compresso in RAM che scambia dati con uno swap file su disco (zswap)
  4. un file di swap compresso in RAM senza altri scambi (zram).

Vedremo come impostare quest’ultimo caso.

Ci sono modi facili e automatici per creare uno zram ma noi vedremo come fare tutti i passaggi manualmente da linea di comando. Queste spiegazioni sono basate su Arch Linux e, per altre distro, possono aver bisogno di adeguare alcuni passaggi (probabilmente quelli riguardanti l’initramfs, ma non conosco bene le altre distro).

Impostare uno Zram fa guadagnare in velocità quando si deve ricorrere allo swap ed in più si diminuisce drasticamente la scrittura/lettura su disco, cosa importante quando abbiamo a che fare con SSD o Nvme.

Per prima cosa si carica il modulo zram (è già presente sul kernel ma non attivo di default).

# modprobe zram

Si imposta il nome del dispositivo zram, l’algoritmo di compressione e la sua dimensione:

# echo lz4 > /sys/block/zram0/comp_algorithm

# echo 4G > /sys/block/zram0/disksize

In questo esempio ho impostato un solo device chiamto zram0 di 4 GB e con compressione lz4. È pratica abituale anche impostare più di un device, ognuno di una certa grandezza, ma noi faremo con un solo dispositivo.

Si continua con la creazione vera e propria del device zram:

# mkswap --label zram0 /dev/zram0

# swapon --priority 100 /dev/zram0

[NOTA: per disabilitare lo zram fare:

# swapoff /dev/zram0

# rmmod zram

]

Adesso abbiamo creato il nostro device zram ed è perfettamente funzionante. Però al successivo riavvio dovremo rifare tutti i passi precedenti. Possiamo rendere automatica la creazione dello zram con una regola udev di systemd. Ma per prima cosa dobbiamo caricare il modulo zram nell’initramfs:

# nano /etc/mkinitcpio.conf

e scriverci dentro, nella sezione MODULES:

MODULES=(amdgpu amd_pstate zram ...)

dove amdgpu e amd_pstate riguardano altre configurazioni, a noi interssa solo zram. Infine aggiornare il mkinitcpio:

# mkinitcpio -P

Per caricare il modulo zram ad ogni boot:

# nano /etc/modules-load.d/zram.conf

e scriverci dentro:

zram

Adesso si imposta il numero di device zram che vogliamo creare. In genere ne basta uno.

# nano /etc/modprobe.d/zram.conf

con scritto dentro:

options zram num_devices=1

Infine si scrive la regola udev vera e propria:

# nano /etc/udev/rules.d/99-zram.rules

e ci si scrive dentro:

KERNEL=="zram0", ATTR{comp_algorithm}="lz4", ATTR{disksize}="4G" RUN="/usr/bin/mkswap /dev/zram0", TAG+="systemd"

Si usa ATTR{comp_algorithm}=”lz4″, se si vuole cambiare la compressione da zstd (default) a lz4. La prima è più lenta ma più solida e con maggiore compressione, la seconda è più veloce.

Infine si imposta l’fstab per tenerne conto:

# nano /etc/fstab

e ci si scrive dentro:

#zram

/dev/zram0 none swap defaults 0 0

Abbiamo finito; basta riavviare il sistema.

Fonte: https://www.marcosbox.org/2023/04/creare-uno-swap-zram.html

Se vuoi sostenerci, puoi farlo acquistando qualsiasi cosa dai diversi link di affiliazione che abbiamo nel nostro sito o partendo da qui oppure alcune di queste distribuzioni GNU/Linux che sono disponibili sul nostro negozio online, quelle mancanti possono essere comunque richieste, e su cui trovi anche PC, NAS e il ns ServerOne. Se ti senti generoso, puoi anche donarmi solo 1€ o più se vuoi con PayPal e aiutarmi a continuare a pubblicare più contenuti come questo. Grazie!

Hai dubbi o problemi? Ti aiutiamo noi!

Se vuoi rimanere sempre aggiornato, iscriviti al nostro canale Telegram.
Se vuoi ricevere supporto per qualsiasi dubbio o problema, iscriviti alla nostra community Facebook o gruppo Telegram.
Cosa ne pensi? Fateci sapere i vostri pensieri nei commenti qui sotto.
Ti piace quello che leggi? Per favore condividilo con gli altri.
Amazon Music
Scopri le ultime offerte per dischi ssd su Acquista su Amazon
Scopri le ultime offerte per memorie RAM DDR su Acquista su Amazon
Scopri le ultime offerte per Chromebook su Acquista su Amazon
Scopri le ultime offerte per Raspberry su Acquista su Amazon

Potrebbero interessarti anche...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.