TL; DR 1
Votre serveur se trouve dans une sorte de conteneur virtuozzo / openvz / virtualization-du-jour . Essayer de donner un sens à l'utilisation de la mémoire consiste à incliner les moulins à vent.
TL; DR 2
Linux a mangé votre RAM! Mais ça va, ça le fait pour tout le monde.
La longue histoire
Décomposons-le!
Dans la Mem:
section, nous avons:
$n total
: la quantité de RAM physique dans votre machine
$n used
: la quantité de mémoire consommée par Linux, pas seulement la somme des processus.
$n free
: Quelle quantité de RAM n'est pas consommée par Linux. Cela ne tient pas compte du fait que la mémoire mise en cache et tamponnée est par essence «libre».
$n buffers
: l'espace tampon est l'endroit où les blocs d'E / S disque ayant été lus ou en attente d'écriture sont stockés. Un tampon est une représentation RAM d'un seul bloc de disque.
Dans la Swap:
section, nous avons:
$n total
: Auto-explicatif. Quantité d'espace disque disponible pour échanger des pages.
$n used
: Auto-explicatif. Combien d'espace d'échange de disque est utilisé.
$n free
: Herp Derp.
$n cache
: Étroitement lié aux tampons ci-dessus. Il fait en fait partie du cache de pages et n'a lui-même aucun espace sur le disque physique. Ne vous inquiétez pas des détails de cette conversation.
La partie intéressante survient lorsque vous courez free -m
. Vous verrez trois lignes, et tous les nombres seront en corrélation avec le haut. Je vais donner mon propre PC comme exemple:
total used free shared buffers cached
Mem: 8070 7747 323 0 253 5713
-/+ buffers/cache: 1780 6290
Swap: 5055 0 5055
La ligne Mem montre la RAM totale en mégaoctets ( $n total
en haut), combien est utilisée ( $n used
en haut), combien est gratuite ( $n free
en haut), combien est partagée (ignorez cela), et maintenant vient la bonne partie! Les colonnes buffers
et sont cached
en free -m
corrélation avec, comme on pouvait le prévoir, $n buffers
et $n cache
. Mais jetez un oeil à la deuxième rangée free -m
qui commence par -/+ buffers/cache:
. Le calcul montre que le montant utilisé est vraiment (total) - ((used-buffers) -cached). Free est (total) - (theNewUsed).
Qu'est-ce que tout cela signifie? Cela signifie que Linux a mangé votre RAM! La courte histoire est que le noyau Linux engloutit la RAM car il est disponible pour la mise en cache du disque. Vous ne pouvez rien y faire à moins d'avoir envie de compiler un noyau personnalisé. Conseil de pro: ne le faites pas.
La RAM est vraiment là et gratuite pour les processus à utiliser à leur guise. C'est ce que l'on entend par la -/+ buffers/cache:
rangée free -m
. Cependant, vous êtes à l'intérieur d'un conteneur de virtualisation non hyper-visor, ce qui rend les choses un peu sordides. Vous ne pouvez tout simplement pas faire le point sur votre mémoire avec une précision d'octet à ce stade. Cependant, vous ne voyez aucun comportement terriblement inhabituel.
Garder le calme et continuer. Obtenez également un serveur physique (sauf si vous aimez les statistiques de mémoire qui ressemblent à Kreskin est votre SysAdmin).