Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Swap] comment connaitre le process qui swap
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
jr
n00b
n00b


Joined: 27 Jun 2007
Posts: 49

PostPosted: Wed Jan 16, 2008 4:48 pm    Post subject: [Swap] comment connaitre le process qui swap Reply with quote

Bonjour,

j'ai un serveur avec un top moyen de ce type sur une gentoo :

Tasks: 136 total, 1 running, 135 sleeping, 0 stopped, 0 zombie
Cpu(s): 8.2%us, 0.5%sy, 0.0%ni, 90.8%id, 0.2%wa, 0.0%hi, 0.3%si, 0.0%st
Mem: 3972092k total, 2693712k used, 1278380k free, 253140k buffers
Swap: 522104k total, 37484k used, 484620k free, 895708k cached

uname -a: 2.6.21.5-grsec-xxxx-grs-ipv6-64 #6 SMP x86_64 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz GenuineIntel GNU/Linux

Comme on peut le voir j'ai du swap utilisé (36mo - fixe ne bouge jamais). Y a t'il une commande qui permet de savoir quel process utilise du swap disque ?

Comme j'ai encore de la mem de libre, je ne comprends pas ce besoin de swappé, surtout pour cette petite taille.

Merci,

Jérémy
Back to top
View user's profile Send private message
Scullder
Guru
Guru


Joined: 16 Mar 2006
Posts: 466
Location: France

PostPosted: Wed Jan 16, 2008 6:20 pm    Post subject: Reply with quote

Salut,
En fait, dans certains cas, le système fait le choix de mettre en swap automatiquement les données en ram peu/pas utilisées.
Tu peux changer ce comportement en changeant la swappiness, regarde le point 5 de ce topic :
https://forums.gentoo.org/viewtopic.php?p=1210748
_________________
Linux gentoo 2.6.18-ck1-r2 #1 PREEMPT Fri Nov 17 01:37:56 CET 2006 x86_64 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux
Back to top
View user's profile Send private message
Magic Banana
Veteran
Veteran


Joined: 13 Dec 2005
Posts: 1906
Location: Belo Horizonte, Minas Gerais, Brasil

PostPosted: Wed Jan 16, 2008 8:07 pm    Post subject: Reply with quote

Le noyau swappe les pages les moins utilisées. Bref, ce n'est pas une application qui swappe mais l'ensemble des applications qui ne tiennent pas en RAM. Tu peux connaître l'espace mémoire des 10 commandes occupant le plus de mémoire de cette façon :
Lister les 10 commandes occupant le plus de mémoire (en pourcentage) :
$ ps -eo %mem,comm | sort -rn | head


Et merde... encore 2 chatons sont morts ! :lol:
Back to top
View user's profile Send private message
YetiBarBar
Guru
Guru


Joined: 23 Dec 2005
Posts: 500

PostPosted: Wed Jan 16, 2008 8:30 pm    Post subject: Reply with quote

Magic Banana wrote:
Et merde... encore 2 chatons sont morts ! :lol:


Je m'en fout, j'ai ma carte au CCC ...

Plus sérieusement, dès lors qu'un processus a écrit dans la swap (ce qui peut arriver si tu dépasses à un instant t de 36 Mo ta ram), le système met des données en cache dans cette swap et ne libère pas la mémoire si il n'en a pas besoin, même si le programme qui utilisait ces données vient à mourrir (par une fermeture ou un crash).

Cette mise en cache n'a pas vraiment d'incidence sur les performances de ton système puisque les données qui y sont mises ne sont que rarement accédées voire probablement jamais dans ton cas.

Si tu utilisais réellement ton swap, tu verrais en observant la sortie de top des pics très fréquent à >90% en temps wa pour ton cpu

Quand à savoir quel processus a mis ses données (plus exactement, le noyau a mis les données), j'en ai franchement aucune idée ...
Back to top
View user's profile Send private message
DuF
Advocate
Advocate


Joined: 09 Dec 2002
Posts: 2671
Location: Paris

PostPosted: Thu Jan 17, 2008 1:07 am    Post subject: Reply with quote

Je me permets juste de préciser quelques points, le fait d'avoir le wa > à 90% pour la CPU ne signifie pas que l'on swap, mais indique simplement le temps que la CPU attends pour des traitements disques. Cela peut être du swap, mais bien souvent c'est surtout lorsqu'on fait des lectures/écritures un peu violentes sur une machine pas adaptée.

Ce qui est important de regarder avec le swap, ce n'est pas tant qu'il soit utilisé/sollicité à un instant T, mais c'est qu'il le soit régulièrement. Si c'est le cas, alors il y a un défaut de mémoire vive sur la machine ou un process qui a des problèmes de mémoire (fuite, etc.)...

Pour réellement observé si tu as du swap utilisé, le plus simple c'est de lancer une commande type vmstat avec un intervalle de temps de 5s et de voir si tu as des choses dans les colonnes si/so (swap in => quantité de mémoire swappé depuis le disque/swap out => quantité de mémoire swappé vers le disque) car là dans ce cas, ça voudra dire que tu utilises réellement du swap et que tu as un défaut de mémoire.

A première vue, dans ton cas, si tes 36Mo ne bougent pas, et bien pas d'inquiétude, c'est le système qui à un instant T a estimé qu'il avait besoin de les copier (par exemple lors d'une montée en charge, ouverture de service, etc.) mais qu'en régime de plateau les ressources sont suffisantes.

Sinon, il n'est pas possible de savoir quel processus met ses données en swap, car ce n'est pas lui qui choisit. Comme l'indique YetiBarBar c'est le noyau qui décide.

Dans ton cas, ce qui est étonnant, c'est le fait qu'un peu de swap soit utilisé alors qu'il reste de la mémoire libre, il faudrait donc observer comment cela se passe au boot de la machine car c'est certainement la remarque de Scullder qui explique le mieux cette éventualité. De toute façon on voit bien que ta machine a suffisamment de mémoire, vu la mémoire libre déjà, mais aussi par les buffers plutôt conséquent et le cache disque plus qu'important (si le système se sert autant en cache disque c'est que la mémoire "applicative" est relativement peu consommatrice).
Bien prendre en compte aussi, comme le dit YetiBarBar que le système ne va pas libérer la mémoire (swap ou non) tant que des processus n'en ont pas besoin, donc à partir que tes 36Mo sont apparus, ils ne disparaitront pas de si tôt :-)

EDIT : j'ai corrigé une petite coquille dans le dernier paragraphe (:s/cache/swap/) ce qui corrige le sens de ma remarque (qui du tout était totalement fausse avant). Mais bon il était tard... :P


Last edited by DuF on Thu Jan 17, 2008 10:40 am; edited 1 time in total
Back to top
View user's profile Send private message
ghoti
Advocate
Advocate


Joined: 30 Dec 2002
Posts: 3581
Location: Belgium

PostPosted: Thu Jan 17, 2008 10:36 am    Post subject: Reply with quote

DuF wrote:
Ce qui est important de regarder avec le swap, ce n'est pas tant qu'il soit utilisé/sollicité à un instant T, mais c'est qu'il le soit régulièrement. Si c'est le cas, alors il y a un défaut de mémoire vive sur la machine ou un process qui a des problèmes de mémoire (fuite, etc.)...

+1 !

On pourrait même ajouter que s'il n'y avait pas eu de partition swap, le système n'aurait probablement eu aucune difficulté pour loger ces 36 malheureux Mo en RAM en rognant simplement un peu d'espace sur le cache de données !
Ce type de phénomène résulte, justement, des sombres arcanes du swappiness ...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum