
L’ottimizzazione della RAM prevede un trattamento particolarmente approfondito nei sistemi SBC come il Raspberry.
L’ulteriore aumento indiscriminato dei costi di produzione delle memorie ha spesso imposto scelte drastiche, e la casa del PI è rimasta colpita come gli altri. Come contromisura ha meszso in produzione un modelli “a metà”, da 3 GB, ad un prezzo leggermente più conveniente, aumenta<ndo di contro i prezzi delle versioni più “carrozzate”.
Vediamo come poter intervenire per rendere il problema meno pressante.
Nel numero 164 di Raspberry Pi Official Magazine abbiamo sono presenti diversi articoli relativi al nuovo Raspberry Pi 5 da 1 GB di RAM. Sebbene la carenza di RAM causata dalle esigenze dell’infrastruttura AI sia incredibilmente fastidiosa, questa è stata un’ottima opportunità per approfondire la gestione della RAM.
La generazione di immagini in Stable Diffusion su un Raspberry Pi con 1 GB di RAM ha permesso di esplorare a fondo la configurazione della RAM in Raspberry Pi OS. Gli autori degli articoli hanno pensato di condividere alcune delle loro scoperte.
Controlla la tua RAM
Esistono diversi strumenti che puoi utilizzare per controllare la RAM sul tuo Raspberry Pi. Il principale tra questi è il comando “free“. Avvia il tuo Raspberry Pi e apri una finestra del terminale. Ora digita:
|
1 |
$ free -h |
Qui vedrai due righe, Mem e Swap:
Mem – RAM fisica all’interno del computer
Swap – File di swap sull’unità di archiviazione utilizzato come RAM virtuale
E sei colonne:
total – Quantità totale di memoria (RAM fisica o spazio di swap).
Utilizzata – Memoria attualmente in uso dai processi e dal kernel.
Libera – Memoria completamente inutilizzata e inattiva (normalmente piuttosto bassa).
Condivisa – Memoria utilizzata dai file system temporanei (come /dev/shm).
Buffer/cache – Memoria utilizzata per i buffer del disco e la cache del file system. Linux utilizza la memoria di riserva per memorizzare nella cache i file dal disco, il che velocizza le operazioni. Questa memoria può essere recuperata rapidamente se le applicazioni ne hanno bisogno. Questo è il motivo per cui la memoria libera è in genere piuttosto bassa.
Disponibile – Una stima della quantità di memoria disponibile per avviare nuove applicazioni senza ricorrere allo swapping. Include la memoria libera più la cache/i buffer recuperabili. Questo dato è più importante della colonna “libera” come esempio di memoria prontamente disponibile.
Le informazioni sulla memoria libera provengono da memproc, che è possibile visualizzare con il comando cat /proc/meminfo per un’analisi più approfondita.
Eseguire il comando “htop”
Dato che non stiamo eseguendo molte applicazioni, possiamo dedurre che la maggior parte dell’utilizzo della RAM sarà occupata dall’esecuzione di Raspberry Pi OS in modalità GUI. Passeremo a breve alla modalità “headless” per vedere quanta RAM possiamo liberare, ma prima diamo un’occhiata a htop.

Top (tabella dei processi) è una classica utility Unix che visualizza informazioni sui processi in esecuzione in tempo reale sul sistema. Una versione migliorata si chiama htop (la “h” sta per Hisham Muhammad, il suo sviluppatore) e offre la codifica a colori e il supporto per il mouse. Htop è installato di default con Raspberry Pi OS. In una finestra del terminale, digita:
|
1 |
$ htop |
…per avviare il programma. Nella parte superiore dello schermo viene visualizzata una rappresentazione pseudo-grafica dei quattro core della CPU (numerati da 0 a 3) e dei grafici di Mem e Swp. Dovresti vedere un’attività molto bassa nella CPU, ma metà della barra Mem mostrerà linee verticali verdi (la parte restante viola, blu e arancione).
Premi F1 e otterrai una finestra di aiuto che spiega i colori: verde indica memoria utilizzata, viola memoria condivisa, blu buffer e arancione cache. Nota che i colori per la barra Swp (swap) sono leggermente diversi. La schermata di aiuto fornisce anche una selezione di scorciatoie da tastiera. Le due più utili sono P per ordinare in base all’utilizzo della CPU e M per ordinare in base all’utilizzo della memoria. Premi un tasto qualsiasi per tornare a htop e premi MAIUSC+M per ordinare in base all’utilizzo della memoria. Qui possiamo vedere che la maggior parte della RAM è occupata dall’interfaccia grafica:
labwc – Il compositore Wayland, ovvero il gestore delle finestre dell’interfaccia grafica di Raspberry Pi OS.
Xwayland – Uno strumento che consente la visualizzazione X11 in Wayland.
wf-panel – Le applicazioni della barra delle applicazioni.
pcmanfm-desktop – Il file manager.
Se iniziamo ad aprire più programmi, come Chromium e Thonny IDE, la RAM disponibile si esaurirà rapidamente. A quel punto si entra in gioco il file di swap, che utilizza la memoria fisica per scambiare la RAM con i programmi.
Swappiness
Sebbene un Raspberry Pi 5 con 1 GB di RAM possa essere utilizzato in modalità desktop e tutte le applicazioni funzionino velocemente, si riscontreranno rapidamente problemi di prestazioni se si aprono più applicazioni contemporaneamente. Questo accade perché l’interfaccia desktop occupa un terzo della RAM disponibile e, per impostazione predefinita, quando Raspberry Pi OS utilizza la RAM, ricorre al file di swap. Questo valore è noto come “swappiness” e può essere verificato con il comando cat:
|
1 |
$ cat /proc/sys/vm/swappiness |
…che restituirà 60. Questo è un valore moderatamente aggressivo, progettato per rendere il file di swap rapidamente utilizzabile. Possiamo ridurre questo valore di swappiness per proteggere la scheda microSD da scritture eccessive e dare priorità all’utilizzo della RAM per prestazioni più veloci:
|
1 2 |
$ sudo sysctl vm.swappiness=10 $ cat /proc/sys/vm/swappiness |
Si noti che questa modifica non è permanente e la modifica del valore di swappiness comporta il rischio di errori di memoria insufficiente (OOM). Per questo motivo, non consigliamo il Raspberry Pi 5 con 1 GB di RAM come computer desktop; è preferibile passare a un modello con 2 GB di RAM (o più) per questo scopo.
Tuttavia, consigliamo vivamente di utilizzare il Raspberry Pi 5 con 1 GB di RAM per progetti di elettronica e per il fai-da-te. Soprattutto se si disattiva l’interfaccia desktop e si inizia a utilizzare l’interfaccia a riga di comando.
Modalità headless
È evidente che possiamo recuperare gran parte del carico di lavoro sul nostro 1 GB di RAM eseguendo il computer senza l’interfaccia desktop. Questa modalità è nota come “headless”, sebbene ufficialmente venga chiamata avvio a riga di comando (CLI). Premi F10 o CTRL+C per uscire da htop.
Esistono due modi per passare dall’interfaccia desktop alla CLI: tramite il Centro di Controllo e raspi-config. Il Centro di Controllo è un’applicazione desktop, quindi il vantaggio intrinseco di utilizzare raspi-config è che è possibile passare dall’avvio in modalità desktop alla modalità CLI dalla riga di comando. Ecco come passare alla CLI:
Centro di Controllo: Apri il Centro di Controllo e seleziona Sistema dalla barra laterale. Qui vedrai l’opzione Avvio con “Su desktop” e “A CLI”. Seleziona “A CLI” e poi fai clic su Chiudi. Per passare dalla modalità desktop alla CLI, è necessario riavviare Raspberry Pi.
Apri un terminale e digita sudo raspi-config. Seleziona 1 Opzioni di sistema > S5 Avvio > B1 Console. Ora seleziona e poi al prompt “Vuoi riavviare ora?”.

Mamma, niente desktop!
Ora il sistema si avvierà direttamente nella riga di comando e ti troverai di fronte a una schermata nera con un cursore lampeggiante. Questa situazione potrebbe essere familiare ad alcuni utenti di computer che hanno appena iniziato a familiarizzare con il sistema. Ma per la maggior parte di noi, l’assenza di un desktop è una novità. Non temere. Non hai bisogno del desktop. Diamo un’altra occhiata a free:
|
1 |
$ free -h |
Ora vediamo che stiamo usando solo 266 MB di RAM e abbiamo 720 MB disponibili sul nostro Raspberry Pi 5 da 1 GB. Questa è una quantità di RAM libera molto più accettabile per iniziare a eseguire i processi.
Avvia htop con:
|
1 |
$ htop |
…e possiamo vedere che gran parte del nostro sistema è ora libero per poter sperimentare.
Avere una sola interfaccia comporta la perdita di gran parte delle funzionalità multitasking intrinseche del desktop. Ma non preoccuparti, perché possiamo avere fino a sei terminali in esecuzione contemporaneamente. Premi ALT+F2 per passare al secondo terminale. Inserisci nome utente e password e potrai accedere alla riga di comando da un’altra istanza. Premi ALT+F1 e ALT+F2 per passare da una all’altra. Puoi ripetere la stessa operazione per ALT+F3, F4, F5 e F6.
Se desideri tornare temporaneamente all’interfaccia desktop, digita il comando:
|
1 |
$ startx |
Questo avvierà l’interfaccia desktop. Puoi tornare all’interfaccia a riga di comando riavviando il sistema. Per tornare all’interfaccia desktop in modo permanente, utilizza il Centro di Controllo o il comando sudo raspi-config.
Iscriviti ai nostri gruppi Telegram
Link cryptocoins
- USB Lottery miner
- Gold Nugget miner
- Gold Digger miner
- BitAxe Gamma Lottery 601
- BitAxe Gamma Turbo 801 GT
- BitAxe NerdQAxe++
Link utili