Petite question sur la swap ?

Fermé
Duloup - 13 avril 2004 à 15:36
 CRUELLA - 18 nov. 2009 à 10:52
Bonjour à tous,

Je me pose une petite question et je pense que vous pourrez m'aider à y repondre.
Lorsque j'utilise des applications gourmandes, Linux utilise la swap (partition sur le disque dur) pour épauler la RAM du PC (est ce que déjà là j'ai tout compris ou pas ?).

Le probleme c'est que quand je ferme ces applis, l'utilisation de la swap (conf top ou ksysguard) ne diminue pas ce qui me laisse penser que le systeme est ralenti.

Ma question est donc est ce que cela est vrai et si oui, existe t il un moyen pour réutiliser la RAM plutot que la swap lorsque la place en RAM est redevenue suffisante.

Merci d'avance

3 réponses

Xenor Messages postés 3310 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 22 juin 2015 51
13 avril 2004 à 16:14
Salut,
Je me pose un peu la même question depuis toujours, mais je sais pas exactement comment est utilisée la ram et la swap vu que top nous donne :
__________________________________________________________________________
Mem:    190804k total,   188732k used,     2072k free,     5160k buffers
Swap:   264560k total,   131968k used,   132592k free,    47516k cached

alors bon "total" "used" et "free" jcomprends à peu près :P cke ça veut dire, mais "buffers" et "cached" j'aimerai savoir.... Et je pense que ça peut être une réponse partielle à notre question. Si quelqu'un sait...
___________
- X e n o r ---
Jeune & Vaillant Guerrier CCM
0
Utilisateur anonyme
14 avril 2004 à 17:35
lis plutôt les informations de free


             total       used       free     shared    buffers     cached
Mem:        126516      54764      71752          0       2992      37280
-/+ buffers/cache:      14492     112024
Swap:       136512          0     136512


le "used" important c'est 14492, c'est ce qui est vraiment utilisé.
54764 c'est ce qui est utilisé activement + ce qui a été chargé en mémoire et n'est pas utilisé à ce moment mais que linux laisse en RAM parce qu'après tout c'est aussi bien là qu'ailleurs, des fois qu'on y accède à nouveau. Linux utilisera autant de RAM que possible, il ne videra cette partie en cache que si la valeur (used - (buffers+cache)) dépasse (126516-37280-2992) soit 86244

ensuite, si la somme de ce qui est vraiment utilisé + les buffers + les fichiers en cache dépasse le total, ça commence à swapper.

mais à la libération, ce qui est en swap y reste je pense, sauf si c'est quelque chose qui doit être immédiatement accessible.

Bref, le zinzin ne fait jamais le ménage derrière lui, et il a bien raison, pour le cas où ce qui ne sert plus puisse resservir ensuite. Dans le cas contraire, il le vire pour céder la place à ce qui a effectivement besoin de la RAM

pour comparer, on dira, c'est comme à une table de 8 personnes, trois personnes A arrivaient pour dresser la table, deux personnes B arrivent pour se mettre à table et bouffer mais les trois A restent avec eux à table tout simplement parce qu'il y a assez de place, même si c'est pour ne rien foutre, des fois qu'on ait besoin d'eux, puis 4 personnes C arrivent pour se mettre à table aussi, donc l'un des trois A doit se lever pour laisser sa place et va s'asseoir sur le banc mais les deux autres restent, ça nous fait donc deux B et quatre C en train de bouffer, deux A en train de les regarder, et un A assis sur le banc.

ensuite trois personnes D arrivent pour se mettre aussi à table, ça fait donc en tout 9 personnes à bouffer, donc les deux A qui étaient encore à table sans rien foutre laissent leur place, et un D mange debout (c'est là que ça swappe).

Et quand le repas est fini, et que seul les B ont commandé un café, les deux C restent à table vu qu'on est mieux assis que debout, même à rien foutre, et comme les membres de chaque groupe agissent d'une seule voie, les trois D assis se lèvent et partent avec celui qui était resté d"ebout, mais après un moment seulement (le temps que celui qui est debout leur dise qu'il gêne les domestiques et qu'il est donc temps de se barrer.

Quand ce sera l'heure du goûter, les E arriveront à 5, donc les C laisseront la place, les B aussi s'ils ont fini leur café, sinon un E prendra son goûter debout

ce qu'il faut retenir c'est qu'on est mieux dans la salle à manger qu'ailleurs et que chacun y reste aussi longtemps que possible, même à rien foutre, surtout assis à table, des fois qu'on lui resserve une assiette inopinément

je dois dire que je trouve ma comparaison excellente (-:

kinder.surprise,
caractère banane
0
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 426 > Utilisateur anonyme
14 avril 2004 à 17:48
:)

Trés trés bon exemple :p

"Si c'est stupide et que ça marche,
        alors ce n'est pas stupide"
0
Xenor Messages postés 3310 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 22 juin 2015 51 > Utilisateur anonyme
14 avril 2004 à 17:55
Et si un Plat de frites F arrive servi par un valet G et qu'il est froid, il se passe quoi ?

___________
- X e n o r ---
Jeune & Vaillant Guerrier CCM
0
Xenor Messages postés 3310 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 22 juin 2015 51 > Utilisateur anonyme
14 avril 2004 à 17:58
lol plus sérieusement bravo l'oeuf pour ces précisions et ce merveilleux exemple plein d'humour (un D mange debout (c'est là que ça swappe) tu t'es surpassé là !! :-DD ) mais j'ai toujours pas bien compris ce que c'était que "cached" et "buffers"... ça sert à quoi, et quand, et uniquement dans la Ram (la vraie... la table, quoi) ?

___________
- X e n o r ---
Jeune & Vaillant Guerrier CCM
0
Utilisateur anonyme > Xenor Messages postés 3310 Date d'inscription dimanche 11 août 2002 Statut Contributeur Dernière intervention 22 juin 2015
14 avril 2004 à 19:26
cached c'est le cache disque et les buffers c'est les tampons.

par exemple au lancement du système, une floppée de fichiers doivent être lus pour en extraire des informations. Ils sont placés en RAM le temps de la lecture, et donc, après la lecture, il ne servent plus à rien (par exemple si postfix est lancé au boot, le fichier /etc/postfix/main.cf). Mais il reste en RAM, tant que l'espace qu'il monopolise n'est pas sollicité. Il reste en RAM parce que ça ne fait de mal à personne et que va savoir si par hasard on ne requerrait pas plus tard un nouvel accès (par exemple, typiquement, /etc/profile, qui est lu au premier login puis reste en RAM même si ça ne sert à rien mais est suceptible d'occasionner un nouvel accès si tu te loggues sur une autre console virtuelle). La RAM sert donc, en l'occurrence, de cache au disque, plutôt que de rester bêztement vide.

les tampons c'est l'espace de RAM réservé pour les fichiers en cours de modification. Shared, donc les espaces mémoire partagés, c'est la RAM contenant des fichiers qui n'ont pas été chargés plusieurs fois en RAM et qui sont donc communs à plusieurs processus (par exemple si tu lances KDE à la fois sur le VT 7 et le VT 8 sous deux UID différentes, il y a plein de fichiers qui ne seront chargé qu'une seule fois)

donc sur mes 128 Mo, à l'instant:

             total       used       free     shared    buffers     cached
Mem:        126516      88940      37576          0       4860      66512
-/+ buffers/cache:      17568     108948
Swap:       136512          0     136512


j'ai donc 17 Mo en gros de RAM qui bosse activement, 4 Mo en gros de fichiers en cours de modification, et 66 Mo de fichiers qui ont été chargés depuis le démarrage de mon système, et qui restent chargés parce que de la RAM vide ça ne sert à rien à part une impression de propre (-: et que donc, même s'il n'y a aucune chance, en attendant il restent en RAM pour le cas où il y aurait un nouvel accès.

Maintenant je vais tâcher de le faire swapper, bouge pô...

kinder.surprise,
caractère banane
0
eriek Messages postés 555 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 28 mars 2006 33
14 avril 2004 à 02:38
0
Ok merci
0