Introduzione
Nei sistemi Linux, è possibile utilizzare il comando free
per ottenere un rapporto dettagliato sull'utilizzo della memoria del sistema.
Il comando free
fornisce informazioni sulla quantità totale di memoria fisica e di swap, nonché sulla memoria libera e utilizzata e sullo spazio di swap nel sistema.
Come usare il comando Free
La sintassi per il comando free
è la seguente:
free [OPTIONS]
Se utilizzato senza alcuna opzione, il comando free
visualizzerà le informazioni sulla memoria e cambierà in kibibyte. 1 kibibyte (KiB) è 1024 byte.
free
L'output includerà tre righe, un'intestazione, una riga per la memoria e una per lo scambio:
total used free shared buff/cache available
Mem: 1992092 168748 315148 652 1508196 1649648
Swap: 0 0 0
Nelle versioni precedenti di Linux, l'output potrebbe essere leggermente diverso.
Ecco cosa significa ogni colonna:
- total : questo numero rappresenta la quantità totale di memoria che può essere utilizzata dalle applicazioni.
- used - Memoria usata. È calcolato come:
used = total - free - buffers - cache
- free - Memoria libera/non utilizzata.
- shared : questa colonna può essere ignorata in quanto non ha significato. È qui solo per compatibilità con le versioni precedenti.
- buff/cache - La memoria combinata utilizzata dai buffer del kernel e cache e slabs della pagina. Questa memoria può essere recuperata in qualsiasi momento dalle applicazioni. Se si desidera visualizzare buffer e cache in due colonne separate, utilizzare l'opzione
-w
. - available: stima della quantità di memoria disponibile per l'avvio di nuove applicazioni, senza scambio.
Visualizzare l'utilizzo della memoria in formato leggibile dall'uomo
Come abbiamo visto nell'esempio sopra, per impostazione predefinita, il comando free
mostra le informazioni sulla memoria in kibibyte. Per visualizzare le informazioni in un formato leggibile dall'uomo (in genere megabyte e gigabyte), utilizzare l'opzione -h
:
free -h
total used free shared buff/cache available
Mem: 1.9G 164M 307M 652K 1.4G 1.6G
Swap: 0B 0B 0B
Visualizzare l'utilizzo della memoria in altre metriche
Il comando free
consente inoltre di specificare l'unità in cui viene misurata la memoria. Le opzioni valide sono:
-b
,--bytes
- Visualizza l'output in byte.--kilo
- Visualizza l'output in kilobyte (1 KB = 1000 byte).--mega
- Visualizza l'output in megabyte.--giga
- Visualizza l'output in gigabyte.--tera
- Visualizza l'output in terabyte.-k
,--kibi
- Visualizza l'output in kibibyte. (1 KiB = 1024 byte). Questa è l'unità predefinita.-m
,--mebi
- Visualizza l'output in mebibyte.-g
,--gibi
- Visualizza l'output in gibyte.--tebi
- Visualizza l'output in tebibyte.--peti
- Visualizza l'output in pebibytes.--si
- Invece di 1024, usa valori di 1000. Ad esempio--mebi --si
è uguale a--mega
.
Ad esempio, per mostrare l'output in megabyte digitare:
free --mega
total used free shared buff/cache available
Mem: 1992 167 315 0 1508 1650
Swap: 0 0 0
Mostrare i totali della colonna
Per visualizzare una riga che mostra i totali delle colonne, utilizzare l'opzione -t
. Questo ti darà una somma della memoria e scambia le colonne totali, usate e libere.
free -h -t
total used free shared buff/cache available
Mem: 7.7G 3.9G 483M 526M 3.4G 3.2G
Swap: 2.0G 0B 2.0G
Total: 9.7G 3.9G 2.5G
Stampare continuamente l'output
Per visualizzare continuamente le informazioni sulla memoria sullo schermo, utilizzare le opzioni -s
, --seconds
seguite da un numero che specifica il ritardo.
Ad esempio, per stampare le informazioni sulla memoria ogni cinque secondi dovresti eseguire:
free -s 5
Il comando free
continuerà a visualizzare il risultato fino a quando non si preme CTRL+C
. Questo è simile al comportamento del comando watch
.
Per visualizzare il risultato per un determinato numero di volte utilizzare l'opzione -c
, --count
. Nell'esempio seguente il comando stamperà il risultato dieci volte:
free -s 5 -c 10
Conclusione
Ormai dovresti avere una buona conoscenza di come usare e interpretare il comando free
. Per visualizzare tutte le opzioni free
disponibili della riga di comando digitare:
man free