Linux è un sistema operativo potente ed efficiente, ma un’elevata utilizzazione di RAM e CPU può degradare le prestazioni, rallentare le applicazioni e persino causare blocchi di sistema quando si esegue un server, una workstation o un sistema embedded, ed è essenziale ottimizzare l’utilizzo delle risorse per un funzionamento fluido.
In questa guida, esploreremo metodi pratici per ridurre l’utilizzo di RAM e CPU su Linux. Tratteremo strumenti di monitoraggio, gestione dei processi, regolazioni del kernel e tecniche di ottimizzazione di sistema per mantenere il sistema efficiente.
1. Identificare i Processi Esosi di Risorse
Il primo passo per ridurre l’utilizzo di RAM e CPU è identificare quali processi stanno consumando più risorse utilizzando diversi strumenti da riga di comando:
a. Utilizzando il Comando top
Il comando top fornisce una vista in tempo reale dei processi di sistema, inclusi l’utilizzo di CPU e memoria.
top
- Premi
P
per ordinare i processi per utilizzo di CPU. - Premi
M
per ordinare i processi per utilizzo di memoria. - Cerca i processi che consumano risorse eccessive e annota il loro ID di processo (PID).

b. Utilizzando il Comando htop
htop è un visualizzatore di processi interattivo che fornisce un’interfaccia più user-friendly rispetto a top
.
Per installare htop su Linux, utilizzare il comando appropriato per la propria distribuzione Linux.
sudo apt install htop [On Debian, Ubuntu and Mint] sudo dnf install htop [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] sudo emerge -a sys-apps/htop [On Gentoo Linux] sudo apk add htop [On Alpine Linux] sudo pacman -S htop [On Arch Linux] sudo zypper install htop [On OpenSUSE] sudo pkg install htop [On FreeBSD]
Eseguire htop
per visualizzare e gestire facilmente i processi.
htop
- Premere
F6
per ordinare i processi per utilizzo della CPU o della memoria. - Premere
F9
per terminare un processo selezionato.

c. Utilizzo del comando ps
Il comando ps può essere utilizzato per elencare i processi e il loro utilizzo delle risorse.
ps aux --sort=-%mem | head # Top memory-consuming processes ps aux --sort=-%cpu | head # Top CPU-consuming processes

2. Terminare Processi Non Necessari
Dopo aver identificato i processi che consumano molte risorse, è possibile terminarli per liberare risorse utilizzando il comando kill seguito dal PID.
kill PID
Se il processo non si termina, utilizzare l’opzione -9
per forzarne la chiusura.
kill -9 PID
In alternativa, utilizzare il comando pkill per terminare processi per nome.
pkill process_name
3. Ottimizzare le Applicazioni all’Avvio
Molte applicazioni e servizi partono automaticamente all’avvio, consumando preziose risorse di sistema.
Per gestire le applicazioni di avvio:
a. Utilizzando il comando systemctl
Elencare tutti i servizi abilitati utilizzando il comando systemctl.
systemctl list-unit-files --type=service | grep enabled
Disabilitare i servizi non necessari.
sudo systemctl disable service_name

b. Utilizzando Strumenti Grafici
Se si utilizza un ambiente desktop come GNOME o KDE, utilizzare il gestore delle applicazioni di avvio integrato per disabilitare i programmi non necessari.
4. Ridurre lo Swappiness (Ottimizzare l’Utilizzo della Swap)
Lo Swappiness controlla con quanta frequenza il sistema utilizza lo spazio di swap invece della RAM. Un valore di swappiness alto può portare a uno swapping eccessivo, rallentando il sistema.
Per verificare il valore attuale di swappiness:
cat /proc/sys/vm/swappiness
Il valore predefinito è di solito 60
, ma per ridurre lo swappiness è necessario modificare il file /etc/sysctl.conf
.
sudo nano /etc/sysctl.conf
Aggiungere o modificare la seguente riga.
vm.swappiness=10
Salvare il file e applicare le modifiche.
sudo sysctl -p
5. Utilizzare Alternative Desktop Leggere
Gli ambienti desktop pesanti e le applicazioni possono sforzare le risorse di sistema, quindi considera di passare a alternative leggere:
a. Ambienti Desktop
Sostituisci GNOME o KDE con opzioni più leggere come XFCE, LXDE, o MATE.
b. Applicazioni
Utilizza applicazioni leggere come:
- Editor di testo: Sostituisci LibreOffice con AbiWord o Mousepad.
- Browser web: Utilizza Firefox con meno estensioni o passa a browser leggeri come Midori.
- Gestore file: Sostituisci Nautilus con Thunar o PCManFM.
6. Svuota Cache e Buffer
Linux utilizza la RAM per memorizzare file e migliorare le prestazioni. Tuttavia, puoi svuotare manualmente la cache se necessario:
sudo sync; sudo sysctl -w vm.drop_caches=3
Questo comando svuota la cache delle pagine, le voci dentries e gli inode. Usalo con cautela, poiché potrebbe rallentare temporaneamente l’accesso ai file.
7. Ottimizza i Parametri del Kernel
Per regolare o ottimizzare i parametri del kernel, devi modificare il file /etc/sysctl.conf
e aggiungere i seguenti parametri o regolarli per migliorare le prestazioni del sistema.
vm.dirty_background_ratio=5 vm.dirty_ratio=10 vm.min_free_kbytes=65536 kernel.sched_autogroup_enabled=0
Queste impostazioni controllano la frequenza con cui i dati sporchi vengono scritti su disco, riducendo l’uso della RAM.
8. Riduci l’Utilizzo della Memoria con ZRAM
Zram e Zswap sono tecnologie di memoria compressa che possono ridurre l’uso della RAM.
sudo apt install zram-config sudo systemctl start zram-config
Dopo l’installazione, devi modificare il file di configurazione di GRUB (/etc/default/grub
) e aggiungere:
GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"
Aggiorna GRUB e riavvia:
sudo update-grub sudo reboot
9. Limita l’Utilizzo della CPU dei Processi
Se un processo sta monopolizzando la CPU, limita il suo utilizzo utilizzando cpulimit.
sudo apt install cpulimit # Debian/Ubuntu sudo yum install cpulimit # RHEL/CentOS
Limita un processo (ad esempio, firefox) al 30% di utilizzo CPU.
sudo cpulimit -e firefox -l 30
Per limitare permanentemente un processo, utilizza systemd.
sudo systemctl set-property <service_name> CPUQuota=30%
10. Aggiorna regolarmente il tuo sistema
Mantenere il tuo sistema aggiornato garantisce di avere gli ultimi miglioramenti delle prestazioni e correzioni di bug.
sudo apt update && sudo apt upgrade # For Debian/Ubuntu sudo yum update # For CentOS/RHEL
Suggerimenti per la risoluzione dei problemi
- Se un processo non si arresta con
kill
, utilizzakill -9 PID
per forzarne l’arresto. - Se
zram
ozswap
non funzionano, assicurati che il tuo kernel supporti queste funzionalità. - Se le prestazioni del sistema non migliorano, considera di aggiornare l’hardware (ad esempio, aggiungendo più RAM o passando a un SSD).
Conclusione
L’ottimizzazione dell’uso di RAM e CPU su Linux è una combinazione di monitoraggio, regolazioni e occasionali aggiornamenti hardware. Identificando i processi che consumano molte risorse, regolando le impostazioni di sistema e optando per alternative leggere, puoi ridare nuova vita al tuo sistema.
Hai provato queste tecniche di ottimizzazione? Condividi la tua esperienza nei commenti qui sotto o visita Tecmint.com per ulteriori guide e tutorial su Linux.
Source:
https://www.tecmint.com/reduce-ram-cpu-usage-on-linux/