Je disais :
> $ free
> total used free shared buffers cached
> Mem: 515856 490832 25024 0 46532 119252
> -/+ buffers/cache: 325048 190808
> Swap: 522104 25204 496900
et Yannick Lecaillez :
> 490Mo de RAM utilisé en tout (Mem: used)
> - 325Mo utlisé pour le cache (donc pas par les process)
> (buffers/cache: used)
> --------------
> = 165 Mo.
>
> 165 Mo de RAM pris pour les processus auquel il faut certainement
> rajouté le SWAP (logiquement je pense que le cache n'est jamais swappé donct
> il s'agit de la mémoire utilisé par les processus) soit 25 Mo:
>
> 165 + 25 = 190Mo on est donc plus proche de ton résultat obtenur par ps.
Ce n'est pas comme ça que je comprends la sortie de free. Le man dit :
The -o switch disables the display of a "buffer adjusted" line.
If the -o option is not specified, free subtracts buffer memory
from the used memory and adds it to the free memory reported.
Donc 325048 n'est pas « used by buffers/cache » mais « buffer adjusted
used », autrement dit used - buffers - cache. En voici un schéma :
used*: 325048 \ used = 490832
buffers: 46532 | \
cache: 119252 / | free* = 190808
free: 25024 /
------------------
total: 515856
où les termes avec * correspondent à la « buffer adjusted line » :
used* = used - buffers - cache
free* = free + buffers + cache
Vous pouvez vérifier que les calculs ci-dessus sont bien cohérents avec
ce qui est affiché. Par ailleurs, gkrellm a une option « Show three
memory krells: [used | buffers | cache | raw free] » qui montre la
répartition de la mémoire entre les quatre parties de mon schéma
ci-dessus.
Je m'attendais à ce que used* corresponde à la mémoire utilisée par les
processus, donc à la somme de la colonne RSS de ps. On m'a fait
remarquer en privé qu'en fait on devrait avoir somme(RSS) > used* à
cause de la mémoire partagée. Pour moi c'est le cas seulement après le
reboot.
--
Edgar Bonet Maison : 04 76 21 29 16 Bureau : 04 76 88 10 96
3 rue Jean Prévost Mobile : 06 77 19 79 39 Fax : 04 76 88 11 91
38000 Grenoble guilde@??? www.edgar-bonet.org