Come rendere performante la tua distribuzione Linux
Per rendere performante una distribuzione linux il modo migliore è sostiuire il Kernel ufficiale, con un kernel Linux alternativo che permette di aggiungere o rimuovere funzionalità, migliorare le prestazioni, supportare nuovi dispositivi o risolvere bug.
Vediamo ora ai rispettivi link i kernel Linux alternativi più importanti con le rispettive caratteristiche:
Kernel Liquorix: da installare su Debian e distribuzioni derivate da Debian. Quindi anche su Ubuntu e distribuzioni derivate da Ubuntu.
Kernel XanMod: da installare su Debian e distribuzioni derivate da Debian. Quindi anche su Ubuntu e distribuzioni derivate da Ubuntu.
Kernel Zen: da installare su Arch Linux e distribuzioni derivate da Arch Linux.
Purtroppo non tutte le distribuzioni supportano l'installazione di questi Kernel alternativi, quindi per rendere più veloci queste distribuzioni bisogna installare delle componenti che sono presenti in questi kernel alternativi in maniera separata:
Zswap: da installare nelle distibuzioni linux per comprimere parte dei dati nella RAM nello Swap rendendo così più veloce e rattivo il PC.
cpufreq: è uno strumento automatico di ottimizzazione della velocità della CPU e della potenza per Linux.
TCP BBR: utilizzare l'algoritmo di controllo di congestione TCP Congestion Control Algorithm (CCA) chiamato TCP Bottleneck Bandwidth e RRT (BBR) per avere significativi guadagni di velocità di rete.
Se utilizzate un hard disk SSD (Solid State Drive), qualunque sia il kernel che state utilizzando, per rendere più efficente l'utilizzo del disco SSD sarebbe bene utilizzare la seguente utilità:
- fstrim: utilizzare il comando fstrim. Disegnato specificamente per interagire con gli SSD, fstrim garantisce efficienza e longevità del dispositivo.
Swap (ovvero memoria virtuale) è molto utile nei sistemi Linux che hanno una quantità minima di memoria fisica a disposizione. Senza questa funzionalità, i computer di fascia bassa dotati di Linux non funzionerebbero correttamente.
Tuttavia, Swap presenta un lato negativo abbastanza importante. Se il PC lavora regolarmente con il file Swap o la partizione del disco, le prestazioni dell’hard disk potrebbero diminuire fortemente. Ecco che qui entra in gioco Zswap.
Si tratta di una feature presente nel kernel Linux introdotta nella versione 3.8 che, una volta abilitata, permette al sistema di decomprimere la cache di swap apportando un miglioramento generale alle prestazioni. Nelle prossime righe, dunque, vi spiegheremo come abilitare questa funzionalità sul vostro PC Linux equipaggiato da Ubuntu, Debian, Arch Linux, Fedora o OpenSUSE.
Come attivare Zswap su Ubuntu/Debian
Visto che si tratta di un’impostazione del kernel, non è possibile trovare Zswap all’interno delle impostazioni di Ubuntu o Debian. Ciò significa che bisognerà armeggiare con il bootloader. Prima di procedere, però, vi consigliamo di effettuare un backup di GRUB utilizzando il terminale.
Dunque, aprite il terminale e per salvare una copia del file di configurazione del bootloader digitare nel terminale il comando:
sudo cp /etc/default/grub /etc/default/grub.bak
Fatto ciò, aprite il file di configurazione di GRUB con l’editor di testo Nano digitando nel terminale il comando:
sudo nano -w /etc/default/grub
Ora individuate individuate la riga:
GRUB_CMDLINE_LINUX_DEFAULT
Non cancellate nulla ma aggiungete semplicemente alla fine della riga, prima dell’ultima virgoletta il codice:
zswap.enabled=1
Una volta apportata questa modifica, salvate i cambiamenti con Ctrl+O e chiudete Nano con Ctrl+X.
A questo punto, potete completare il processo di aggiornamento del bootloader GRUB eseguendo il digitando nel terminale il comando:
sudo update-grub
Al successivo avvio del vostro PC Ubuntu o Debian, Zswap dovrebbe essere attiva e funzionante.
In caso di ripensamenti, potete disabilitare Zswap andando a ripristinare il backup di GRUB creato precedentemente. Dunque, aprite il terminale e digitate il comando sudo rm /etc/default/grub
Fatto ciò, procedete con il ripristino del file di backup con i seguenti comandi:
cd /etc/default/ sudo mv grub.bak grub
In conclusione, aggiornate GRUB con sudo update-grub
Come attivare Zswap su Arch Linux
Zswap è disponibile anche per Arch Linux ma, a differenza di Ubuntu, Debian, Fedora e OpenSUSE, può essere abilitato in maniera davvero semplice. Infatti, non è richiesta la modifica di nessun file di configurazione di GRUB. Basta semplicemente installare un pacchetto e abilitarlo attraverso il terminale. Ecco i due comandi da digitare nel terminale:
sudo pacman -S systemd-swap sudo systemctl enable systemd-swap
Una volta abilitato il servizio, riavviate il computer e verificate che Zswap sia attivo.
Come attivare Zswap su Fedora/OpenSUSE
Fedora e OpenSUSE sono delle distribuzioni Linux molto simili. Per questo motivo, qui sotto trovate i passaggi da seguire per configurare correttamente Zswap su entrambe le distro.
Prima bisogna eseguire il backup del file di configurazione di GRUB digitando nel terminale i seguenti comandi:
cd /etc/default sudo cp grub grub.bak
Fatto ciò, aprite il file di configurazione di GRUB con l’editor di testo Nano digitando nel terminale il comando:
sudo nano /etc/default/grub
Ora individuate individuate la riga:
GRUB_CMDLINE_LINUX_DEFAULT=
in Fedora potrebbe essere:
GRUB_CMDLINE_LINUX=
Non cancellate nulla ma aggiungete semplicemente alla fine della riga, prima dell’ultima virgoletta il codice:
zswap.enabled=1
Una volta apportata questa modifica, salvate i cambiamenti con Ctrl+O e chiudete Nano con Ctrl+X.
A questo punto, potete completare il processo di aggiornamento del bootloader GRUB eseguendo il digitando nel terminale il comando:
grub2-mkconfig -o /boot/grub2/grub.cfg
Al successivo avvio del vostro PC Fedora o OpenSUSE, Zswap dovrebbe essere attiva e funzionante.
Se non avete più bisogno di Zswap, potete disattivarlo attraverso il terminale utilizzando i seguenti comandi:
cd /etc/default sudo rm grub
Fatto ciò, procedete con il ripristino del file di backup con il seguente comando:
sudo mv grub.bak grub
In conclusione, aggiornate GRUB digitando nel terminale:
grub2-mkconfig -o /boot/grub2/grub.cfg
Per usare cpufreq utilizzeremo Auto-cpufreq un'utilità a riga di comando open source basata su Python sotto licenza GPL 3.0. Lo strumento monitora la CPU e stampa le metriche sul terminale come l'utilizzo della CPU e la frequenza e la temperatura di ciascun core della CPU. Inoltre, monitora lo stato della batteria, del carico del sistema e della gestione del turbo boost.
Lo strumento auto-cpufreq ottimizza automaticamente la CPU e la potenza della batteria sia in uno stato persistente che temporaneo. In questo modo, mantiene il tuo sistema Linux in uno stato perfettamente funzionante e prolunga la durata della batteria senza compromettere nulla.
Vediamo ora come è possibile installare questo utile strumento in varie distribuzioni Linux.
Il modo più semplice per installare Auto-cpufreq è installarlo utilizzando il pacchetto snap di Auto-cpufreq. Per vedere come installare un pacchetto snap vedere la guida Guida ai pacchetti Snaps.
Come eseguire auto-cpufreq
Per iniziare a utilizzare lo strumento auto-cpufreq, apri il terminale ed esegui:
sudo auto-cpufreq
Ti verranno presentate 3 modalità che puoi utilizzare per eseguire lo strumento con:
1 . Modalità live:
In modalità Live, le modifiche richieste vengono apportate al sistema temporaneamente e vengono perse al reboot. Questo simula come funzionerebbe un sistema se le modifiche dovessero essere implementate in modo permanente.
Digitando sul terminale il comando:
sudo auto-cpufreq --monitor
Avremo una schermata tipo questa:
2 . Installazione - auto-cpufreq daemon:
In questa modalità, l'auto-cpufreq viene distribuito come demone utilizzando il seguente comando:
sudo auto-cpufreq --install
Avremo una schermata tipo questa:
È possibile verificare lo stato del daemon in esecuzione digitando nel terminale:
sudo systemctl status auto-cpufreq
Successivamente, vengono apportate modifiche necessarie che alla fine persistono attraverso i riavvii. Per dare un'occhiata ai registri, eseguire il comando:
sudo auto-cpufreq --log
BBR (Bottleneckth Bandwidth e Round-trip time) è un algoritmo di controllo della congestione sviluppato da Google per migliorare la velocità e le prestazioni di rete. BBR ottimizza la trasmissione dei dati regolando in modo dinamico la velocità di invio in base alle condizioni di rete, come la larghezza di banda e la latenza.
Monitorando continuamente il collegamento collo di bottiglia, BBR garantisce un utilizzo efficiente delle risorse di rete, riducendo al minimo il buffering e riducendo la latenza. Questo innovativo algoritmo di controllo della congestione è avvantaggia gli utenti offrendo connessioni Internet più veloci e più stabili, in particolare su reti ad alta velocità e in ambienti congestionati.
A differenza dei tradizionali algoritmi di controllo della congestione come CUBIC e Reno, che si basano sulla perdita di pacchetti per rilevare la congestione, BBR utilizza la larghezza di banda e le misurazioni del tempo di andata e ritorno per ottimizzare la trasmissione dei dati, con conseguente prestazioni di rete più efficienti e stabili.
Vediamo come abilitare BBR su Debian 12, 11 o 10. Quindi la stessa procedura la possiamo usare su Ubuntu e derivate e sulla maggior parte delle derivae di Debian.
Passo 1: Verifica se BBR è già abilitata
Prima di abilitare BBR, controllare se è già abilitato sul sistema è essenziale. Per fare questo, eseguire il seguente comando:
sysctl net.ipv4.tcp_congestion_control
Se BBR è abilitato, vedrai il seguente output:
net.ipv4.tcp_congestion_control = bbr
Se vedi un diverso algoritmo di controllo della congestione, come cubic o reno, BBR non è abilitato.
Passo 2: Aggiornare il sistema
Prima di apportare modifiche al tuo sistema, è fondamentale aggiornarlo per assicurarti di avere i pacchetti più recenti e le correzioni di sicurezza. Per fare questo, eseguire il seguente comando:
sudo apt update && sudo apt-get upgrade
Passo 3: verificare se BBR è supportato sul tuo sistema
Non tutti i sistemi supportano BBR, quindi controllando se il sistema è essenziale. Per fare questo, eseguire il seguente comando:
sudo modprobe tcp_bbr
Se il sistema supporta BBR, non vedrai alcun output. Se non lo fa, vedrai un messaggio di errore.
Passo 4: Abilita BBR tramite i comandi CLI
Per abilitare BBR, eseguire il seguente comando:
sudo sh -c 'echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf' sudo sh -c 'echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf'
Questi comandi stabiliranno la disciplina di coda predefinita a fq e abiliteranno BBR come algoritmo di controllo della congestione.
Passo 5: Ricaricare lo sysctl per attivare BBR
Per applicare le modifiche, eseguire il seguente comando:
sudo sysctl -p
Passo 6: Verificare che BBR sia ora abilitato
Per verificare se BBR è abilitato dopo aver eseguito tali comandi per abilitarlo, eseguire il seguente comando:
sysctl net.ipv4.tcp_congestion_control
Se BBR è abilitato, vedrai il seguente output:
net.ipv4.tcp_congestion_control = bbr
Quando si parla di ottimizzazione delle prestazioni di un sistema Linux che utilizza SSD (Solid State Drive), uno degli strumenti essenziali menzionati è il comando fstrim
. Disegnato specificamente per interagire con SSD, fstrim
garantisce efficienza e longevità del dispositivo.
Gli SSD, a differenza dei tradizionali Hard Disk Drive (HDD), non usano parti mobili ma memorizzano dati su celle di memoria flash, migliorando significativamente le prestazioni complessive grazie ai rapidissimi tempi di accesso ai dati. Tuttavia, gli SSD non possono semplicemente sovrascrivere le celle di memoria come avviene con gli HDD; queste devono prima essere cancellate.
Ecco dove entra in gioco il comando fstrim
. Quando un file viene cancellato da un SSD, le celle che contenevano quei dati non vengono immediatamente liberate. Di conseguenza, l’unità non sa subito che quelle celle sono disponibili. Questo può portare a una diminuzione delle prestazioni a lungo termine, poiché l’SSD deve prima cancellare queste celle durante le future operazioni di scrittura. fstrim
risolve questo problema inviando un comando TRIM all’SSD, informandolo che le celle contrassegnate come libere possono essere effettivamente cancellate.
Su un sistema Linux, fstrim può essere eseguito semplicemente con il comando:
sudo fstrim / -v
La flag -v
(verbose) consente di vedere quante celle sono state effettivamente liberate. Questo comando può essere eseguito manualmente o automatizzato. Una pratica comune è configurare un cron job per eseguire fstrim
settimanalmente, mantenendo così l’SSD in condizioni ottimali.
Un esempio di cron job settimanale per fstrim
può essere configurato aggiungendo la seguente riga al file di cron (accessibile tramite crontab -e
):
0 3 * * 7 /sbin/fstrim / -v
Questo comando verrà eseguito ogni domenica alle 3 del mattino, minimizzando l’impatto sulle prestazioni quotidiane.
In conclusione, il comando fstrim
è uno strumento estremamente utile per mantenere elevate le prestazioni e prolungare la vita degli SSD su sistemi Linux. L’uso regolare di fstrim
nella manutenzione del sistema è una pratica consigliata che offre significativi benefici a lungo termine.
Eseguire regolarmente fstrim
è importante per evitare che il disco SSD accumuli blocchi di dati inutilizzati. Molti consigliano di eseguirlo su base settimanale o mensile, a seconda dell’utilizzo del sistema. Un buon momento per eseguire fstrim
può essere dopo operazioni di scrittura o cancellazione di dati significative.
Prima di eseguire fstrim
, è buona norma assicurarsi che il filesystem sia integro utilizzando strumenti come fsck
. Avere un backup recente dei dati importanti è essenziale per evitare rischi.