Questo articolo mostra come controllare e monitorare l'utilizzo della memoria di un server Linux®. Devi considerare molte cose diverse quando gestisci l'uso della memoria per un server Linux, ma questo articolo si concentra su quanto segue:
- Come visualizzare l'utilizzo della memoria
- Scambia
- Uccisore di memoria insufficiente (OOM)
Come visualizzare l'utilizzo della memoria
Puoi usare il free
, top
o htop
comandi per visualizzare l'utilizzo della memoria.
Il comando gratuito
Usa il free
comando per visualizzare la quantità di memoria libera e utilizzata nel sistema. Dopo averlo avviato, dovresti vedere un output simile al seguente esempio:
$ free
total used free shared buff/cache available
Mem: 8009408 1878604 970740 470152 5160064 5341764
Swap: 4194300 92160 4102140
Puoi aggiungere le seguenti opzioni di flag al comando per personalizzare l'output:
- -h :Rende leggibile l'output del comando.
- -[b, k, m, g] :formatta i dati nel tipo di dati corrispondente (byte, kilobyte, megabyte o gigabyte).
- -s :Emette i dati all'intervallo specificato. Ad esempio,
-s 3
visualizza i dati ogni 3 secondi.
I comandi top e htop
Usa il top
comando per visualizzare i processi correnti in esecuzione sul server. Il htop
command mostra le stesse informazioni in modo più organizzato, tuttavia htop
non è installato sulla maggior parte dei server per impostazione predefinita.
Scambia spazio
Lo spazio di scambio è la quantità di spazio riservata ogni volta che la memoria ad accesso casuale (RAM) viene esaurita. È possibile utilizzare i comandi nelle sezioni precedenti per visualizzare lo spazio di scambio insieme alla memoria. Se vuoi saperne di più sullo spazio di scambio, consulta Spazio di scambio sui server cloud.
Uccisore OOM
Quando un server ha poca memoria, il sistema invoca OOM Killer per terminare determinati processi al fine di liberare memoria in modo che il sistema possa continuare a funzionare. Spesso, quando un processo viene eliminato da OOM Killer, puoi vedere una voce nei seguenti file di registro:
- /var/log/messages (o /var/log/syslog per Ubuntu)
- /var/log/dmesg