fabien29200 Posté(e) le 14 décembre 2009 Partager Posté(e) le 14 décembre 2009 Coucou à tous ! Sur mon serveur home made (Ubuntu 9.10, lamp, squid, nvidia, gnome), j'ai un écart que je ne m'explique pas entre top d'un côté, ps et free de l'autre. Lorsque je lance un free, à la ligne "-/+ buffers/cache:", il m'indique que 1156 Mo sont utilisés. Etonné par ce chiffre élevé, j'ai commencé à chercher quel processus prendrait autant de RAM. Mais le souci, c'est qu'en totalisant la colonne RES de top sur les 55 processus qui prennent le plus de mémoire, j'arrive à 419 336. De même en faisant un ps aux et en calculant la somme de la colonne RSS sur 180 lignes, j'obtiens 467 732. Bref, on est bien loin du Go. Mais alors, qu'est-ce que prend en compte free et qui n'apparaît ni dans ps ni dans top ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
madko Posté(e) le 14 décembre 2009 Partager Posté(e) le 14 décembre 2009 et avec la commande slabtop tu vera en partie ce qui occupe le cache. Suffit que tu lise pas mal de fichiers pour que les buffers et autres caches prennent de la place en ram. Essaye munin si tu veux monitoré ça facilement (le graph pour la mémoire est assez bien detaillé) Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabien29200 Posté(e) le 14 décembre 2009 Auteur Partager Posté(e) le 14 décembre 2009 Slabtop m'indique : Active / Total Size (% used) : 350746.05K / 361244.52K (97.1%) La majorité du cache est utilisé par ext3 et ext4. Donc 350M d'expliqué. Lien vers le commentaire Partager sur d’autres sites More sharing options...
gallean Posté(e) le 14 décembre 2009 Partager Posté(e) le 14 décembre 2009 question bête 4go de ram os 64/32 bits ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
madko Posté(e) le 14 décembre 2009 Partager Posté(e) le 14 décembre 2009 et que t'indique un cat /proc/meminfo ? Tu veux savoir ce qu'utilise le cache précisément? jsais pas si c'est possible vu que c'est assez volatile un cache par nature. http://tree.celinuxforum.org/CelfPubWiki/R...moryMeasurement Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabien29200 Posté(e) le 14 décembre 2009 Auteur Partager Posté(e) le 14 décembre 2009 Je colle le résultat tel quel car j'avoue avoir un peu de mal à décoder toutes ces infos : MemTotal: 3478724 kB MemFree: 414736 kB Buffers: 451104 kB Cached: 1427856 kB SwapCached: 3000 kB Active: 1111624 kB Inactive: 951352 kB Active(anon): 97584 kB Inactive(anon): 89520 kB Active(file): 1014040 kB Inactive(file): 861832 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 497972 kB SwapFree: 462436 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 181216 kB Mapped: 56980 kB Slab: 370752 kB SReclaimable: 339892 kB SUnreclaim: 30860 kB PageTables: 16992 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 2237332 kB Committed_AS: 716512 kB VmallocTotal: 34359738367 kB VmallocUsed: 84280 kB VmallocChunk: 34359638011 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 548416 kB DirectMap2M: 2990080 kB Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabien29200 Posté(e) le 14 décembre 2009 Auteur Partager Posté(e) le 14 décembre 2009 question bête 4go de ram os 64/32 bits ? C'est une version x64. Mais c'est une carte mère Ion et une partie de la mémoire part pour la carte graphique. Lien vers le commentaire Partager sur d’autres sites More sharing options...
gallean Posté(e) le 14 décembre 2009 Partager Posté(e) le 14 décembre 2009 erf ceci peut peut être expliquer cela (je ne connais pas du tout cette carte mère) Lien vers le commentaire Partager sur d’autres sites More sharing options...
madko Posté(e) le 14 décembre 2009 Partager Posté(e) le 14 décembre 2009 Le MemTotal du meminfo montre 3.4Go (en gros) de mémoire dispo, donc je suppose que c'est les 4Go - la partie pour la video. MemTotal: 3478724 kB MemFree: 414736 kB Buffers: 451104 kB Cached: 1427856 kB Donc au 3.4Go on retire env 400Mo de mémoire libre, encore 400Mo de Buffers, et 1.4Go de Cache (sur les fichiers). Reste encore qqchose comme 1.1Go (1185028 kB) a expliquer. On avait trouver qqchose comme 350Mo pour les structures de gestion du slab (Slab: 370752 kB). On est plus qu'à 800Mo d'utilisation inexplicable. Bon apres faut retirer ce que tu avais compté avec tes PS même si cette methode est pas forcement fiable. Je pense aussi qu'on a peut etre oublié un autre truc, mais on s'en approche. T'avais genre 400Mo de programme, apres je sais pas ya peut etre les librairies partagées, et les librairies systemes, etc. C'est tellement pas évident de savoir comment la mémoire est concretement utilisée, qu'en général on s'inquiete que quand ça commence à swapper. Ya aussi la commande pmap -x <pid> qui peut etre sympa. Lien vers le commentaire Partager sur d’autres sites More sharing options...
tyrann27 Posté(e) le 15 décembre 2009 Partager Posté(e) le 15 décembre 2009 je vais p'tet dire une connerie mais..... Le cache qu'on voit comme ça, c'est pas des programmes qui ont tournés et qui sont resté en cache ? + une partie du cache du disque dur ? J'ai le souvenir d'avoir lu une explication... Lien vers le commentaire Partager sur d’autres sites More sharing options...
madko Posté(e) le 15 décembre 2009 Partager Posté(e) le 15 décembre 2009 http://linux-mm.org/Low_On_Memory pas mal d'info ici Lien vers le commentaire Partager sur d’autres sites More sharing options...
tsubasaleguedin Posté(e) le 16 décembre 2009 Partager Posté(e) le 16 décembre 2009 http://linux-mm.org/Low_On_Memory pas mal d'info ici sylvain@L0001:~$ free -m total used free shared buffers cached Mem: 3962 3629 332 0 133 1650 -/+ buffers/cache: 1846 2116 Swap: 3812 0 3812 Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabien29200 Posté(e) le 16 décembre 2009 Auteur Partager Posté(e) le 16 décembre 2009 Ok. Donc le noyau, quand il voit qu'il a beaucoup de RAM de libre, il met en RAM un maximum de choses pour accélérer les traitements. D'où une valeur de RAM utilisée beaucoup plus élevée que sur une machine disposant de moins RAM. C'est bien ça ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
madko Posté(e) le 17 décembre 2009 Partager Posté(e) le 17 décembre 2009 Oui, ce serait dommage d'avoir plein de mémoire libre inutilisée, d'où le bon vieux dicton "Free RAM is Wasted RAM" , donc ya des phénomenes de mises en cache, buffers et autres readahead qui vont avoir tendance à utiliser cette mémoire disponible. Le but étant d'accélérer les tâches courantes et lentes tel que les IO sur disques, etc. Alors que sur une machine avec moins de RAM, la proportion de mémoire inutilisée est plus faible, donc ce phénomène de cache est moins visible. Après tout ça doit peut être pouvoir se paramétrer, la taille des buffers, le readahead sur les fichiers, le tendance au swap etc Ya un nouveau système dans les kernels tout récent (>2.6.31), qui s'appelle KSM il me semble, qui vise à chercher les données en double en mémoire pour les regrouper, ça va être intéressant ça :) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.