Guida all’installazione del kernel a bassa latenza
La gestione dei processi del sistema da parte del kernel è caratterizzata da una certa latenza (intervallo di tempo). In alcuni ambiti specifici, come nell’audio/video editing professionale, si rende necessario poter abbassare questa latenza.
Si prenda ad esempio il caso di più tracce audio riprodotte contemporaneamente con la necessita di registrarne una in presa diretta. Il sistema in situazioni come questa può andare incontro a ritardi sia nella riproduzione che nella registrazione audio.
Processori e memorie RAM sempre più potenti hanno in parte ridotto problematiche di questo tipo, tuttavia l’installazione di un kernel a bassa latenza evita di andare incontro a tali rischi.
Installazione e avvio
Installiamo il pacchetto linux-lowlatency
sudo apt install linux-lowlatency
Al termine riavviamo il sistema con:
sudo reboot
Al successivo riavvio tramite terminale verifichiamo la corretta versione del kernel con il seguente comando:
uname -r
La risposta deve essere simile alla seguente:
5.4.0-100-lowlatency |
Rimuoviamo i kernel generici, digitare il seguente comando per ottenere la lista dei kernel installati:
dpkg -l | grep linux-image
L’output del comando è simile al seguente riportato nell’immagine:
Rimuoviamo ore i pacchetti generici del kernel:
sudo apt remove linux-generic linux-image-generic
Rimuoviamo altri eventuali pacchetti non necessari:
sudo apt autoremove
Ora facendo molta attenzione rimuoviamo il kernel o i kernel inutilizzati, nel nostro caso è solo uno, il generico:
sudo apt purge linux-image-5.4.0-100-generic
Al termine:
sudo apt autoclean && sudo apt autoremove
Attendiamo la fine della procedura e riavviamo
sudo reboot
Configuriamo i parametri realtime
Con il vostro editor preferito (nel mio caso è nano) e con i privilegi amministrativi di sudo, editiamo il file /etc/security/limits.conf
sudo nano /etc/security/limits.conf
Inseriamo prima della stringa #End of file le seguenti stringhe:
@realtime – rtprio 99
@realtime – memlock unlimited
Salviamo ed usciamo.
Creiamo ora il gruppo realtime:
sudo groupadd realtime
Aggiungiamo il proprio utente al gruppo realtime:
sudo usermod -aG realtime $USER
Riavviamo per l’ultima volta poiché l’installazione e la configurazione del kernel low-latency è terminata.
sudo reboot
Revisione del 21 maggio 2022
Nell’installazione del kernel low-latency sulla versione 22.04 LTS di Ubuntu Server mi sono ritrovato con un’immagine generic marcata come “unsigned”, inutile rimuoverla o fare il purge, a seguito di queste operazioni si installava nuovamente il kernel generico e viceversa.
Ho trovato la soluzione utilizzando lo script “linux-purge” di Jarno Suni presente su launchpad.net, lo script è datato 7 luglio 2020 ma funziona ugualmente con Ubuntu 22.04.
I passaggi per l’installazione e l’aggiornamento all’ultima versione sono i seguenti:
sh -c 'cd /tmp && wget -N https://git.launchpad.net/linux-purge/plain/install-linux-purge.sh && chmod +x ./install-linux-purge.sh && sudo ./install-linux-purge.sh && rm ./install-linux-purge.sh' && [ "$BASH" ] && echo Replaced current shell in order to make the Bash completion work. && exec bash
Durante l’installazione sarà richiesta la password di amministrazione.
Installazione aggiornamento:
sudo sh -c 'cd /usr/local/bin/ &&
wget -N https://git.launchpad.net/linux-purge/plain/update-linux-purge &&
chmod +x update-linux-purge'
Al termine digitare il comando:
sudo update-linux-purge
Una volta terminata l’installazione e l’aggiornamento procedere con il seguente comando:
sudo linux-purge -bc -k 1
dove le opzioni sono per:
-b, –clear-boot
Controlla /boot per i kernel sconosciuti ad APT e, se tali file vengono trovati, verranno anche rimossi.
-c, –choose
Per la modalità “interattiva”, ovvero chiede conferma prima di eliminare il kernel.
-k, –keep=NUM
Per mantenere NUM (nel mio caso una) versione del kernel.
Guida verificata con Ubuntu: 18.04 – 22.04 LTS |