62 votes

Comment interpréter la sortie de la commande "free -m" ?

La sortie de free -m est :

                     total    used    free    shared  buffers  cached
Mem:                  595      482     112         0       63     324
-/+ buffers/cache:              93     501
swap:                   0        0       0

Quelle valeur de la mémoire utilisée est correcte, 482 ou 93 ?

46voto

leon Points 656

Vous disposez de 112 Mo de mémoire entièrement libre, MAIS les 501 Mo que vous voyez sont sans mémoire "cache". Cela signifie que le système d'exploitation a placé des éléments dans votre mémoire pour être plus rapide. Il appelle cela "utilisé" (votre nombre "libre" n'est donc que de 112), mais c'est en fait disponible pour vous si vous en avez besoin.

C'est une bonne chose, car une mémoire inutilisée est une mémoire inutile. La mémoire en cache peut être effacée si nécessaire. Le vieux truc du "je dois nettoyer la mémoire" que les gens faisaient pour Windows 95 n'est pas nécessaire ici : tout va bien et est heureux :)

Le nombre que vous recherchez est 501 libre (en mégaoctets car de -m ).

voir pour référence ces pages :

http://www.linuxatemyram.com/
http://www.itworld.com/it-managementstrategy/280695/making-sense-memory-usage-linux

30voto

saji89 Points 11609

Interprétation de la sortie de free :
La première ligne de la free les listes de sortie :

  • total Votre mémoire totale, physique (en supposant qu'il n'y a pas de virtualisation)
  • used Quelle proportion est actuellement utilisée (par quoi que ce soit) ?
  • free Quelle proportion de ce montant est totalement gratuite (pas du tout utilisée) ?
  • shared (il n'y a jamais rien là, ignorez cette colonne)
  • buffers Mémoire utilisée par les tampons du noyau
  • cached Mémoire utilisée pour le cache

Les deux derniers éléments, le cache et les tampons, sont des mémoires qui ne sont pas allouées à des processus utilisateurs spécifiques. Il s'agit de la mémoire réservée par le noyau pour améliorer les performances générales, mais ce n'est pas de la mémoire "applicative". Ces zones augmenteront ou diminueront en fonction des politiques du noyau concernant la mise en cache, la pression de la mémoire, les modèles d'E/S des applications, etc.

Puisque ces deux colonnes ne sont pas de la mémoire allouée par l'utilisateur, et que les zones peuvent rétrécir (pratiquement à zéro) si les allocations de l'utilisateur l'exigent, elles sont en quelque sorte "libres" - il y a là de la RAM qui peut être libérée par le noyau si vos applications en ont activement besoin.

C'est ce que vous dit la deuxième ligne. Elle supprime la mémoire tampon et la mémoire cache de l'application used (c'est ce que le - signifie), et ajoute ( + ) à la free colonne. (Un problème d'arrondi se produira).

(La dernière ligne indique l'état de votre espace d'échange).

Courtoisie : https://unix.stackexchange.com/a/33549/14497

Donc, dans votre cas 112MB est la mémoire entièrement libre, et si vous prenez en considération la mémoire utilisée pour la mise en cache, qui peut être allouée aux applications utilisateur, si nécessaire ; alors 501 MB est la mémoire maximale réelle disponible pour l'utilisation.

14voto

Paul A Jungwirth Points 626

La réponse de @saji89 est excellente, mais de nos jours free -m n'imprime plus le -/+ buffers/cache mais met à la place la quantité de RAM disponible dans une nouvelle ligne available sur la première ligne, par exemple :

ubuntu@pg_master:~$ free -m
              total        used        free      shared  buff/cache   available
Mem:          61406        1571         506       17131       59328       42150
Swap:             0           0           0
ubuntu@pg_master:~$ free -V
free from procps-ng 3.3.10

Vous pouvez lire le commit à free(1) qui a supprimé la ligne dans leur repo . Aussi le commit pour ajouter la nouvelle available colonne .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X