Il monitoraggio dell'uso della memoria è un compito importante per gli amministratori di sistema Linux e per gli utenti che vogliono migliorare le prestazioni del proprio sistema. Linux ha diversi strumenti da riga di comando che mostrano informazioni in tempo reale sull'uso della memoria, permettendoti di monitorare e studiare l'utilizzo della memoria. In questo articolo, esamineremo alcuni degli strumenti da riga di comando più utili per verificare l'uso della memoria sui sistemi Linux, tra cui cat, free, vmstat, top, htop, sar, e come capire il file /proc/meminfo.
Punti Chiave
- Il comando
cat /proc/meminfomostra le metriche di memoria in tempo reale, come la RAM totale utilizzabile, la memoria libera e la memoria cache. - Il comando
freefornisce un output user-friendly delle statistiche sull'uso della memoria, inclusi memoria totale, utilizzata, libera, condivisa, buff/cache e disponibile. - Il comando
vmstatriporta un'istantanea dell'uso della memoria del sistema, inclusi processi, memoria, paging, IO dei blocchi, trap e attività della CPU. - Il comando
topè uno strumento interattivo che mostra informazioni in tempo reale sull'utilizzo delle risorse di sistema, inclusi l'uso della CPU e della memoria per singolo processo. - Il comando
htopè una versione migliorata ditop, che offre un'interfaccia più user-friendly e funzioni extra come la codifica a colori e la gestione dei processi tramite scorciatoie.
Utilizzo degli Strumenti da Riga di Comando per Verificare l'Uso della Memoria
Linux ha diversi strumenti da riga di comando che ti permettono di verificare l'uso della memoria in tempo reale. Questi strumenti sono importanti per gli amministratori di sistema e gli utenti che vogliono monitorare e ottimizzare le prestazioni del proprio sistema.
Comando cat
Il comando cat è un modo semplice per visualizzare il contenuto del file /proc/meminfo, che contiene informazioni in tempo reale sull'uso della memoria del sistema.
cat /proc/meminfo
Questo comando mostrerà varie metriche di memoria, come:
- MemTotal: RAM totale utilizzabile
- MemFree: La quantità di RAM fisica rimasta inutilizzata
- MemAvailable: Una stima di quanta memoria è disponibile per avviare nuove applicazioni, senza swapping
- Buffers: La quantità di storage temporaneo per blocchi del disco grezzi
- Cached: La quantità di RAM fisica utilizzata come memoria cache
Ecco un esempio di output:
MemTotal: 8116552 kB
MemFree: 385440 kB
MemAvailable: 1890092 kB
Buffers: 259300 kB
Cached: 1345384 kB
...
Comando free
Il comando free fornisce un output più user-friendly delle statistiche sull'uso della memoria. Mostra la memoria totale, utilizzata, libera, condivisa, buff/cache e disponibile.
free -h
L'opzione -h mostra l'output in un formato leggibile. Ecco un esempio di output:
total used free shared buff/cache available
Mem: 7.8Gi 6.1Gi 387Mi 1.0Gi 1.3Gi 1.8Gi
Swap: 2.0Gi 1.1Gi 912Mi
Puoi anche usare altre opzioni come -b (bytes), -k (kibibytes), -m (mebibytes), o -g (gibibytes) per cambiare le unità dell'output.
Comando vmstat
Il comando vmstat riporta le statistiche sulla memoria virtuale e altre informazioni di sistema. Fornisce un'istantanea dell'uso della memoria del sistema, inclusi processi, memoria, paging, IO dei blocchi, trap e attività della CPU.
vmstat
Ecco un esempio di output:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 1132052 395700 259300 1345384 0 1 33 52 85 176 9 5 85 1 0
La sezione della memoria mostra la quantità di spazio di swap utilizzato (swpd), memoria libera (free), memoria buffer (buff) e memoria cache (cache).
Comando top
Il comando top è uno strumento interattivo che mostra informazioni in tempo reale sull'utilizzo delle risorse di sistema, inclusi l'uso della CPU e della memoria per singolo processo.
top
Ecco un esempio di output semplificato:
top - 10:30:00 up 2 days, 18:00, 1 user, load average: 0.50, 0.68, 0.83
Tasks: 287 total, 1 running, 286 sleeping, 0 stopped, 0 zombie
%Cpu(s): 8.7 us, 5.0 sy, 0.0 ni, 85.3 id, 1.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7854.2 total, 386.4 free, 6119.4 used, 1348.4 buff/cache
MiB Swap: 2048.0 total, 938.2 free, 1109.8 used. 1711.6 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1234 user 20 0 1234.5m 123.4m 12.3m S 5.0 1.6 1:23.45 process_name
Il comando top fornisce una vista dinamica dei processi del sistema e del loro consumo di risorse. Puoi ordinare i processi per uso della memoria usando il tasto M e gestire i processi usando vari comandi interattivi.
Comando htop
Il comando htop è una versione migliorata del comando top, che offre un'interfaccia più user-friendly e funzioni extra.
htop
Il comando htop mostra una vista in tempo reale dei processi del sistema e dell'uso delle risorse con codifica a colori. Supporta lo scorrimento verticale e orizzontale, la ricerca dei processi e la gestione dei processi tramite scorciatoie.
Comando sar
Il comando sar è un reporter di attività del sistema che monitora vari aspetti delle prestazioni del sistema, incluso l'uso della memoria.
sar -r 1 5
Questo comando mostrerà le statistiche di utilizzo della memoria ogni 1 secondo per 5 iterazioni. Ecco un esempio di output:
07:30:01 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
07:30:02 PM 385600 6127104 94.07 259300 1345384 16327220 130.59 5132848 1347188 0
07:30:03 PM 385724 6126980 94.07 259300 1345380 16327220 130.59 5134528 1347168 0
07:30:04 PM 385620 6127084 94.07 259300 1345384 16327220 130.59 5132784 1347188 0
07:30:05 PM 385752 6126952 94.07 259300 1345380 16327220 130.59 5134336 1346992 0
07:30:06 PM 385600 6127104 94.07 259300 1345384 16327220 130.59 5132624 1347184 0
Average: 385659 6127045 94.07 259300 1345382 16327220 130.59 5133424 1347144 0
L'output include metriche come kbmemfree (memoria libera in kilobyte), kbmemused (memoria utilizzata in kilobyte) e %memused (percentuale di memoria utilizzata).
File /proc/meminfo
Il file /proc/meminfo è un file virtuale che fornisce informazioni in tempo reale sull'uso della memoria del sistema. Puoi analizzare questo file usando strumenti come awk o grep per ottenere metriche specifiche.
Il file /proc/meminfo contiene varie metriche di memoria, come MemTotal, MemFree, Buffers, Cached, Active e Inactive. Queste metriche forniscono una panoramica dettagliata dell'uso della memoria del sistema.
Ecco un esempio di utilizzo di awk per ottenere metriche specifiche:
awk '/MemTotal/{print $2}' /proc/meminfo
Questo comando stamperà il valore della metrica MemTotal in kilobyte.
Questi strumenti da riga di comando offrono un modo potente e flessibile per monitorare l'uso della memoria sui sistemi Linux. Imparando questi strumenti, gli amministratori di sistema e gli utenti possono monitorare e ottimizzare l'utilizzo della memoria del proprio sistema.
Utilizzo degli Strumenti GUI per Verificare l'Uso della Memoria
Sebbene gli strumenti da riga di comando siano potenti e flessibili, Linux offre anche strumenti grafici per monitorare l'uso della memoria. Questi strumenti sono utili per gli utenti che preferiscono un'interfaccia visuale o sono meno a loro agio con la riga di comando.
App Monitor di Sistema
L'app Monitor di Sistema è un'applicazione grafica che fornisce una panoramica in tempo reale dell'uso delle risorse di sistema, incluso il consumo di memoria. È disponibile sulla maggior parte delle distribuzioni Linux con un ambiente desktop, come GNOME, KDE o Xfce.
Per accedere all'app Monitor di Sistema:
- Apri il menu Applicazioni o il dashboard.
- Cerca "Monitor di Sistema" o vai alla categoria Strumenti di Sistema.
- Avvia l'app Monitor di Sistema.
L'app Monitor di Sistema mostra varie metriche di sistema, inclusi l'uso della CPU, l'uso della memoria, l'attività di rete e l'I/O del disco. Nella scheda Memoria, puoi visualizzare le seguenti informazioni:
| Metrica | Descrizione |
|---|---|
| Memoria totale | La quantità totale di memoria fisica (RAM) installata sul sistema. |
| Memoria usata | La quantità di memoria attualmente in uso dalle applicazioni e dal sistema operativo. |
| Memoria cache | La quantità di memoria utilizzata per la cache dei dati del disco per migliorare le prestazioni. |
| Memoria buffer | La quantità di memoria utilizzata per l'archiviazione temporanea di blocchi del disco grezzi. |
| Memoria libera | La quantità di memoria attualmente non in uso. |
| Uso dello swap | La quantità di spazio di swap utilizzato e disponibile. |
Esempio
Supponiamo che tu abbia un sistema Linux con 8 GB di memoria totale. Quando apri l'app Monitor di Sistema, vedi la seguente suddivisione dell'uso della memoria:
- Memoria usata: 4.5 GB
- Memoria cache: 1.2 GB
- Memoria buffer: 0.3 GB
- Memoria libera: 2 GB
Questo mostra che degli 8 GB di memoria totale, 4.5 GB sono attivamente utilizzati dalle applicazioni e dal sistema operativo, 1.2 GB sono utilizzati per la cache dei dati del disco, 0.3 GB sono utilizzati per il buffering dei blocchi del disco e 2 GB sono attualmente liberi e disponibili per l'uso.
L'app Monitor di Sistema fornisce anche una rappresentazione grafica dell'uso della memoria nel tempo, permettendoti di individuare tendenze e potenziali problemi.
GNOME System Monitor
Il GNOME System Monitor è uno strumento GUI più avanzato per monitorare le risorse di sistema e i processi. Fa parte dell'ambiente desktop GNOME ma può essere installato anche su altre distribuzioni Linux.
Per avviare il GNOME System Monitor:
- Apri il menu Sistema o il launcher delle applicazioni.
- Vai alla categoria Amministrazione o Strumenti di Sistema.
- Seleziona l'applicazione "Monitor di Sistema".
Puoi anche avviare il GNOME System Monitor dalla riga di comando usando il seguente comando:
gnome-system-monitor
Il GNOME System Monitor fornisce informazioni dettagliate sull'uso delle risorse di sistema, incluso il consumo di memoria. Nella scheda Risorse, puoi visualizzare:
- Cronologia Memoria e Swap: Una rappresentazione grafica dell'uso della memoria e dello swap nel tempo.
- Memoria: La memoria totale, utilizzata e libera, così come la quantità di memoria utilizzata per cache e buffer.
- Swap: Lo spazio di swap totale, utilizzato e libero.
Esempio
Supponiamo che tu stia eseguendo un'applicazione che richiede molta memoria sul tuo sistema Linux e noti che il sistema risulta lento. Avvii il GNOME System Monitor per indagare il problema. Nella scheda Risorse, osservi quanto segue:
- Memoria totale: 16 GB
- Memoria usata: 14.5 GB
- Memoria libera: 1.5 GB
- Swap usato: 2 GB
Queste informazioni suggeriscono che l'applicazione che richiede molta memoria sta usando una grande porzione della memoria disponibile, causando l'uso dello spazio di swap da parte del sistema. L'alto utilizzo della memoria e dello swap può portare a prestazioni ridotte del sistema.
Il GNOME System Monitor ti permette anche di visualizzare e gestire i processi, aiutandoti a trovare applicazioni che potrebbero utilizzare troppa memoria. Puoi ordinare i processi per uso della memoria per identificare le applicazioni che consumano più memoria e prendere le azioni appropriate, come chiudere programmi non necessari o ottimizzare l'uso della memoria dell'applicazione.
Usando strumenti GUI come l'app Monitor di Sistema e il GNOME System Monitor, gli utenti Linux possono facilmente monitorare e analizzare l'uso della memoria sui loro sistemi. Questi strumenti offrono un'interfaccia user-friendly e rappresentazioni visive, rendendo più facile capire e monitorare il consumo di memoria.
Altri Comandi e Strumenti
Oltre agli strumenti popolari da riga di comando e GUI che abbiamo trattato, ci sono diversi altri strumenti per monitorare l'uso della memoria sui sistemi Linux. Uno di questi strumenti è il comando btop.
Comando btop
Il comando btop è un monitor di risorse moderno, leggero e multipiattaforma che funziona nel terminale.Fornisce un'interfaccia colorata per visualizzare l'uso in tempo reale e le statistiche per CPU, memoria, dischi, rete e processi.
Le caratteristiche di btop includono:
- Interfaccia personalizzabile
- Possibilità di filtrare i processi
- Vista ad albero dei processi
- Navigazione usando mouse, tastiera o touch
- Supporta Linux, macOS e FreeBSD
Installazione
Per installare btop su varie distribuzioni Linux, puoi usare i seguenti gestori di pacchetti:
| Distribuzione | Gestore Pacchetti | Comando di Installazione |
|---|---|---|
| Basate su Debian (es. Ubuntu) | apt |
sudo apt install btop |
| Basate su Red Hat (es. CentOS) | dnf |
sudo dnf install btop |
| Arch Linux | pacman |
sudo pacman -S btop |
Su altre distribuzioni Linux o sistemi operativi, potrebbe essere necessario compilare btop dai sorgenti. Fai riferimento alla guida di installazione di btop per maggiori informazioni.
Utilizzo
Una volta installato, puoi avviare btop eseguendo il seguente comando nel tuo terminale:
btop
Nell'interfaccia di btop, puoi visualizzare le seguenti informazioni relative alla memoria:
- Grafico dell'uso della memoria
- Memoria totale
- Memoria usata
- Memoria libera
- Buffer
- Memoria cache
- Memoria disponibile
- Uso dello swap





