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