Salut à tous!
Voila petit souci sur plusieurs workstations en ubuntu 8.04 x86_64...
Un truc vraiment étrange se produit:
# free -l
total used free shared buffers cached
Mem: 4052796 3988716 64080 0 155284 3475560
Low: 4052796 3988716 64080
High: 0 0 0
-/+ buffers/cache: 357872 3694924
Swap: 4194296 216 4194080
Comme on peut le voir une bonne partie de la mémoire est bouffée... MAIS PAR QUOI ???
# ps -A --sort -rss -o comm,pmem | head -n 11
COMMAND %MEM
adept_notifier 1.1
Xorg 0.8
kdesktop_lock 0.8
kdesktop 0.6
python 0.6
konqueror 0.5
konqueror 0.5
kicker 0.5
katapult 0.5
systemsettings 0.4
Comme on le voit ci-dessus il n'y a rien qui consomme autant de mémoire que ce qui est décrit!!!
Que se passe-t'il ? J'ai plusieurs systèmes comme cela, je m'en suis rendu compte après avoir mis en place de la supervision SNMP ; j'ai donc pensé à cela, mais ce n'est pas ça puisque même après avoir tué le process snmpd ma mémoire est toujours occupée à 98%...
Qu'en pensez-vous ?
# -/+ buffers/Cache
Posté par Anonyme . Évalué à 10.
-/+ buffers/cache: 357872 3694924
tu as 3694924 Kbytes de mémoire libre
ce que tu vois ici:
Mem: 4052796 3988716 64080
c'est l'occupation mémoire incluant les zones utilisées par le cache de ton système.
fait un recherche sur ton moteur préféré, c'est une question récurrente
# Le cache...
Posté par ymorin . Évalué à 10.
Oui, elle est occupée à 98%. Par contre, si tu regardes bien, la majeure partie de cette utilisation est dans le cache (colonne
cached
).Qu'est-ce que ce cache? C'est là où le noyau va stocker, par exemple, les pages qu'ils a lues depuis le disque, au cas où elles seraient utilisées plus tard. Si le système a besoin d'allouer de la mémoire pour un process, il va virer les pages du cache les plus anciennes pour faire de la place, au détriment (d'un peu) de vitesse et réactivité.
De plus, tu n'as que 216KiB de swap utilisé. C'est rien de rien. Dans certains cas, mon swap monte à plusieurs GiB. Si tu étais vraiment à cours de RAM, l'utilisation de ton swap exploserait.
Bref, aucun problème dans les données que tu reporte. Juste du ultra normal.
Hop,
Moi.
[^] # Re: Le cache...
Posté par Michaël (site web personnel) . Évalué à 7.
Je complète la réponse bien pertinente de ymorin par le slogan: mémoire inutilisée = mémoire gâchée! Même quand tu te contentes de travailler sous KDE[*], tes 4Go de RAM sont utilisés par ton OS préféré.
[*] Ceci n'est pas un appeau à trolls, nous sommes lundi!
[^] # Re: Le cache...
Posté par Paul . Évalué à 1.
Complétons la complétion.
Pour savoir la RAM utilisée par les applications :
ligne
-/+ buffers/cache
, colonneused
[^] # Re: Le cache...
Posté par Frédéric Heulin . Évalué à 1.
Je crois que tu t'es trompé :
Je ne vois aucune option qui correspondrait dans la manpage.
[^] # Re: Le cache...
Posté par Paul . Évalué à 3.
free
tout court en fait.Mais
-m
pour le lire plus rapidement/simplement.# Linux ate my RAM
Posté par Krunch (site web personnel) . Évalué à 10.
http://www.linuxatemyram.com/
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
# Meilleure estimation de la mémoire utilisée
Posté par Michaël (site web personnel) . Évalué à 4.
En dehors du fait qu'il y a des méthodes plus adaptées pour estimer la mémoire totale utilisée, voilà une version améliorée de ta ligne de commande, qui a le défauts suivants:
Les pourcentages ne sont pas assez précis (beaucoup de 0,0 pour les petits processus) pour faire cette estimation, j'utilise rss (resident size) au lieu de pmem.
Beaucoup de petits processus peuvent manger la mémoire, il ne faut pas se contenter de regarder les plus grosses entrées. J'utilise AWK pour calculer le total et tronque comme toi le résultat pour avoir le total et les plus gros clients.
[^] # Re: Meilleure estimation de la mémoire utilisée
Posté par steph1978 . Évalué à 4.
sort -nrk1
[^] # Re: Meilleure estimation de la mémoire utilisée
Posté par Michaël (site web personnel) . Évalué à 2.
Ah oui effectivement! :)
[^] # Re: Meilleure estimation de la mémoire utilisée
Posté par Krunch (site web personnel) . Évalué à 3.
Les processus peuvent partager des pages entre eux donc c'est pas forcément très précis non plus. Dans ton exemple, une grosse partie de la mémoire consommée par Xorg provient sans doute en fait de seamonkey, mono et npviewer.
Sinon il y a Matt Mackall qui a fait une bonne talk sur le sujet à ELC2009 : http://free-electrons.com/blog/elc-2009-videos/
pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.
[^] # Re: Meilleure estimation de la mémoire utilisée
Posté par Nonolapéro . Évalué à 2.
Sur Archlinux ça me raconte que les options de
ps
n'ont pas la bonne syntaxe.[^] # Re: Meilleure estimation de la mémoire utilisée
Posté par Michaël (site web personnel) . Évalué à 2.
C'est que je suis sous FreeBSD, précision utile que j'oublie trop souvent d'ajouter … pour régler le problème il devrait suffir de jeter un coup d'œil à la page de man de
ps
.[^] # Re: Meilleure estimation de la mémoire utilisée
Posté par Donk . Évalué à 2.
il faut enlever le tiret devant l'option ax
[^] # Re: Meilleure estimation de la mémoire utilisée
Posté par Nonolapéro . Évalué à 3.
C'était la solution, merci.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.