TL; DR 1
Il tuo server si trova in una sorta di contenitore virtuozzo / openvz / virtualization-du-jour . Cercare di dare un senso all'utilizzo della memoria è inclinarsi contro i mulini a vento.
TL; DR 2
Linux ha mangiato la tua RAM! Ma va bene lo fa a tutti.
La lunga storia
Analizziamolo!
Nella Mem:
sezione abbiamo:
$n total
: la quantità di RAM fisica nel tuo computer
$n used
: quanta memoria viene consumata da Linux, non solo la somma dei processi.
$n free
: Quanta RAM non viene consumata da Linux. Ciò non tiene conto del fatto che la memoria cache e bufferizzata è essenzialmente "libera".
$n buffers
: spazio buffer è il punto in cui sono memorizzati i blocchi di I / O del disco che sono stati letti o in attesa di una scrittura. Un buffer è una rappresentazione RAM di un singolo blocco del disco.
Nella Swap:
sezione abbiamo:
$n total
: Autoesplicativo. Quantità di spazio su disco disponibile per lo scambio di pagine.
$n used
: Autoesplicativo. Quanto spazio di scambio del disco viene utilizzato.
$n free
: Herp Derp.
$n cache
: Strettamente correlato ai buffer sopra. Fa effettivamente parte della cache della pagina e di per sé non ha spazio sul disco fisico. Non preoccuparti dei dettagli di questa conversazione.
La parte interessante arriva quando corri free -m
. Vedrai tre righe e tutti i numeri saranno correlati con la parte superiore. Darò il mio PC come esempio:
total used free shared buffers cached
Mem: 8070 7747 323 0 253 5713
-/+ buffers/cache: 1780 6290
Swap: 5055 0 5055
La riga Mem mostra la RAM totale in megabyte ( $n total
in alto), quanto viene utilizzato ( $n used
in alto), quanto è gratuito ( $n free
in alto), quanto viene condiviso (ignoralo) e ora arriva la parte buona! Le colonne buffers
e cached
sono free -m
correlate, prevedibilmente $n buffers
e $n cache
. Ma dai un'occhiata alla seconda riga free -m
che inizia con quella -/+ buffers/cache:
. La matematica mostra che la quantità utilizzata è davvero (totale) - ((buffer usato)). Free è (totale) - (theNewUsed).
Che cosa significa tutto questo? Significa che Linux ha mangiato la tua RAM! La storia breve è che il kernel Linux divora la RAM in quanto è disponibile per l'uso per la memorizzazione nella cache del disco. Non c'è niente che tu possa fare al riguardo a meno che tu non abbia voglia di compilare un kernel personalizzato. Consiglio del professionista: no.
La RAM è davvero lì e libera per i processi da utilizzare a loro piacimento. Questo è ciò che si intende per -/+ buffers/cache:
riga free -m
. Tuttavia, ti trovi all'interno di un contenitore di virtualizzazione non hyper-visor che rende le cose un po 'strane. A questo punto non puoi semplicemente fare il punto della tua memoria con precisione in byte. Tuttavia, non vedi alcun comportamento terribilmente insolito.
Stai calmo e vai avanti. Inoltre, ottieni un server fisico (a meno che non ti piacciano le statistiche di memoria che sembrano Kreskin come SysAdmin).