Questo articolo è stato aggiornato il

Uno dei fattori più importanti da tenere sempre sotto controllo, durante la gestione di un VPS o un Server Dedicato, è la memoria.

Ogni programma, applicazione, ha bisogno di memoria per funzionare, ed a lungo andare, potreste iniziare ad avere spiacevoli sorprese,  la saturazione della memoria può compromettere la stabilità e l’efficienza di una qualunque macchina. Ecco perchè, diventa molto importante monitorare l’utilizzo ed il consumo di memoria che hanno le vostre applicazioni, aiutandovi a capire se è giunto il momento fare qualche cambiamento sul server, se disattivare qualche applicazione o procedere eventualmente ad un upgrade.

Vediamo ora, i principali comandi linux ad amministrare di sistema, da utilizzare per monitorare e visualizzare i consumi di memoria.

Informazioni Memoria Totale: meminfo

Uno strumento molto utile, che può fornire utili informazioni sulla memoria è  “meminfo”. Meminfo è un file si trova nella directory “/proc”, che offre diversi valori sulla memoria generale, compresa la memoria totale utilizzata, la memoria totale libera, swap, la memoria attiva, stack del kernel, ed altro ancora. Il comando da utilizzare per accedere a queste informazioni è:

# cat /proc/meminfo

Per maggior informazioni sul significato di tutte queste voci, non c’è altro modo che leggere i sorgenti:

/usr/src/linux/fs/proc/proc_misc.c )

Memoria Libera: free

Un altro comando più basico e semplice per avere informazioni sulla memoria, è “free“, digitato dalla linea di comando. Potete utilizzare una serie di variazioni al comando, a seconda di quelle che desiderate visualizzare. Per esempio, aggiungete “-m” per visualizzare le informazioni in megabyte, o “-h” per avere dei risultati più facili da consultare.

Ecco per l’esempio, il risultato mostrato dopo aver eseguito il comando “free -h”:

Total used free shared buffers cached

Mem: 7.8G 7.5G 331M 0B 444M 1.6G

-/+ buffers/cache: 1.4G 2.4G

Swap: 8.4G 106M 8.3G

La prima riga indica la memoria utilizzata, la seconda mostra l’utilizzo escludendo i buffer e la cache: i valori vengono ridimensionati di molto.

Altri parametri che è possibile utilizzare con “free”, sono:

  • -b:  permette di ricevere l’output in termini di byte;
  • -k:  come il parametro precedente, con la differenza che offre l’output in KByte;
  • -l:  mostra dettagliatamente lo stato della memoria;
  • -t:  aggiunge due righe all’output, nelle quali vengono visualizzati i totali di ogni colonna;
  • -s secondi:  seguito da un valore in numeris, consente di ricevere le informazioni sulla memoria ad intervalli regolari;

Monitorare le risorse dei processi: top

E’ fondamentale controllare i processi avviati in un sistema: non accorgersi di alcuni problemi legati ad un determinato processo, può causare conseguenza negative e forti aumenti di risorse, cali di prestazioni, etc. Un comando molto utile per che consente di avere sempre sotto controllo i processi eseguiti all’interno di una distribuzione Linux è top. Esso, mostra in tempo reale tutte le informazioni in merito ai processi gestiti dal Kernel: ad intervalli regolari l’applicazione esegue l’aggiornamento automatico dei dati mostrati, ordinati secondo un criterio basato sul consumo di risorse.

Meminfo e Free, sono installati di default sulla maggior parte dei sistemi Linux e Unix.