Pourquoi mon serveur s'affiche
total used free shared buffers cached
Mem: 12286456 11715372 571084 0 81912 6545228
-/+ buffers/cache: 5088232 7198224
Swap: 24571408 54528 24516880
Je n'ai aucune idée sur le calcul de la mémoire sous Linux. Je pense qu'il dit que 5088232 est utilisé là où 7198224 est gratuit, ce qui signifie qu'il consomme en fait 5 Go de RAM?
La première ligne signifie:
total
: Votre total (physique) RAM (à l'exception d'un petit peu que le noyau se réserve en permanence au démarrage); c'est pourquoi il affiche environ 11,7 GiB, et non 12 Gio, que vous avez probablement.used
: mémoire utilisée par le système d'exploitation.free
: mémoire non utilisée.total
= used
+ free
shared
/buffers
/cached
: Cela montre l'utilisation de la mémoire à des fins spécifiques, ces valeurs sont incluses dans la valeur de used
.La deuxième ligne donne les valeurs de première ligne ajustées. Il donne la valeur d'origine pour used
moins la somme buffers+cached
et la valeur d'origine de free
plus la somme buffers+cached
, d'où son titre. Ces nouvelles valeurs sont souvent plus significatives que celles de première ligne.
La dernière ligne (Swap:
) donne des informations sur l'utilisation de l'espace d'échange (c'est-à-dire le contenu de la mémoire qui a été temporairement déplacé sur le disque).
Pour réellement comprendre ce que signifient les chiffres, vous avez besoin de quelques informations sur le sous-système de mémoire virtuelle (VM) sous Linux. Juste une version courte: Linux (comme la plupart des OS modernes) essaiera toujours d'utiliser gratuitement RAM pour la mise en cache des trucs, donc Mem: free
sera presque toujours très faible. Par conséquent, la ligne -/+ buffers/cache:
s'affiche, car il indique la quantité de mémoire disponible lors de l'ignorance des caches; les caches seront libérés automatiquement si la mémoire se fait rare, donc ils n'ont pas vraiment d'importance.
Un système Linux manque vraiment de mémoire si la valeur free
dans -/+ buffers/cache:
la ligne devient basse.
Pour plus de détails sur la signification des nombres, voir par ex. questions:
Notez que la sortie de free
a été modifiée dans procps 3.3.10 (publié en 2014). Les colonnes signalées sont désormais "total", "utilisé", "gratuit", "partagé", "buff/cache", "disponible" , et la signification de certaines valeurs a changé, principalement pour mieux tenir compte du cache de dalle du noyau Linux.
Voir Rapport de bogue Debian # 565518 pour la motivation, et Que signifient les changements dans la sortie free
de 14.04 à 16.04? pour plus d'informations.
Pour tous ceux qui ont besoin d'une explication étape par étape encore plus simple, consultez http://oughttsbyclayg.blogspot.com/2008/09/display-free-memory-on-linux-ubuntu.html , son explication m'a beaucoup aidé.
La ligne tampons/cache vous indique la quantité de mémoire utilisée par les programmes (première de ces colonnes) et est libre pour les programmes à utiliser (deuxième colonne). C'est un nombre assez ésotérique, et ce n'est pas quelque chose que vous examineriez vraiment dans la pratique.