Retourner aux forums || Retourner au forum Linux.debian
Linux.debian : Libération du Swap : pourquoi pas moi ?
Posté par yojik77 () le 08 avril 2005A la suite de mes "errements" en matière de mêmoire vive...
[cf. ça : https://linuxfr.org/forums/10/7559.html(...) ]
... j'ai fini par "optimiser" un peu la quantité de ram dispo sur mon tas de tôle (2 sessions Xfree86 parallèle en permanence avec des drivers "nv" libres + 2 bureaux KDE + 2 Mozilla à plein temps ça finit par faire lourd).
Je suis donc passé à de la DDRAM 3200 (sous cadençé bikoz chipset époque Quattrocento) et surtout à 1024 Mo ( + 400 Mo grosso modo). Je pensais souffler un peu avant de me décider à changer de carte mère et rajouter encore une barrette pour la route.
Rien n'y fait, mon Mozilla perso a encore planté pendant mon absence et ce qui me chiffone c'est la situation du Swap !?
J'ai à cette minute 74 Mo de mêmoire vive disponible et 73 Mo de swap ; or le taux de swap ne diminue pas ?
C'est aussi vrai avec des valeurs beaucoup plus faible de swap et beaucoup plus importantes de Ram physique disponible !!
En gros le swap utilisé à un moment *t* ne semble pas être libéré ultérieurement lorsque de la mêmoire physique se libère !!?
Quelqu'un saurait-il m'expliquer le pourquoi de cette solution, voire un règlage pour y remédier (kswapd ? connait pas du tout ?) ?
Je suis en noyau 2.4.27-2-debian-k7 sans lo-latency ou preempt, un pur kernel Debian tout propre.
Merci par avance de tous vos conseils,
Yoj'
> Lire le message (3 commentaires, moyenne: 4,3).
Swappons un peu
>En gros le swap utilisé à un moment *t* ne semble pas être libéré ultérieurement lorsque de la mêmoire physique se libère !!?
Ben oui, c'est logique. Lorsque le noyau utilise le swap, c'est parce qu'il n'a plus de mémoire physique : il place des pages de données sur le disque.
Cela dit, swapper, cela prend du temps, puisque justement, cela requiert des accès au disque. Or, lorsque de la mémoire physique se libère, rien ne garantit que l'on va avoir à nouveau besoin des pages swappées : le programme peut se terminer sans les accéder, ou ne pas en avoir besoin pendant un bon bout de temps.
Il y a même toutes les raisons de penser que ces pages ne seront pas accédées dans l'immédiat, puisque le (ou les) processus auxquelles elles sont attachées ne les a jusqu'à présent pas demandées.
Maintenant, imagine qu'un utilisateur recommence à employer toute la RAM... Si on a dé-swappées ces pages, il nous faut à présent les re-swapper, sans l'ombre d'un gain - tout au contraire, on a perdu du temps, et, sur les portables, de la consommation électrique.
Conclusion : le noyau ne s'embête pas avec ces bêtises et ne dé-swappe pas les pages tant qu'il n'y a pas lieu. Ce n'est ni un comportement aberrant, ni un bogue ou une anomalie, mais bien un comportement normal et, à mon avis, non configurable.
-
[^]Re: Swappons un peu
Posté par Khâpin (Jabber id, page perso, ) le 08/04/2005 à 19:02. (lien). Évalué à 5.Bonjour,
Je me permet de copier-coller intégralement un message de Aurélien Francillon (daté d'aujourd'hui), sur la liste gentoo-fr, parce qu'il répond très bien à ta question:
hello,
j'ai un portable avec 1Go de ram et gentoo et ca marche vachement bien ;)
Il y a une limite a environ 850Mo pour la ram due a des raisons plus ou
moins historiques sur x86, en fait pour utiliser les 150Mo
supplementaires tu doit compiler ton noyau avec l'option "highmem" par
contre il parait que ca ralentit pas mal les acces memeoire ... il y a
un bon article sur kerneltrap sur ce sujet si tu veux tout savoir a
propose du highmem http://kerneltrap.org/node/2450/7217(...)
Actuellement tu vois de la ram libre est inutilisé et des trucs dans le
swap... en fait il y a plusieurs approches du point de vue du noyau,
exemple bidon :
tu compile un noyau et tu a un mozilla qui tourne en meme temps :
- soit tu decide que tu veux mozilla dans la ram pour que si jamais tu
veux lire tes mail tout de suite mozilla soit completement reactif ...
masi en meme temps ta compilation noyau sera peut etre plus lente car il
y aura moins de place en ram pour le cache disque ...
- sinon le noyau peut decider de mettre mozilla dans le swap car il n'en
a pas besoin tout de suite (ca fait au moins 1 Min que tu ne l'a pas
utilisé ... ), du coup il recupère de la memoire dans laquelle il va
pouvoir mettre du cache disque ... et la compilation sera plus rapide
...
pour voir le montant de cache disque, utilise "free" voire free -m qui
affiche en Mo ...
ces comportement peuvent etre modifiés par la variable swappiness
par exemple
echo "25" > /proc/sys/vm/swappiness
et j'ai le swap qui n'est (presque) jamais utilisé ...
les aplis sont toujours dispo rapidement mais du coup celles qui sont en
ram et jamais utilisées "squattent" de la ram pour rien ...
echo "75" > /proc/sys/vm/swappiness
aura l'effet inverse ..
en plus de ca ca change un peu avce chaque noyau etc ...
tu peux aussi tester le patch autoswappiness de con kolivas (sous gentoo
au moins dans sys-kernel-/ck-sources) qui s'arrange pour changer ce
parametre automatiquement en fonction des besoins ...
de plus je pense que le noyau doit toujours se garder un certain
pourcentage de ram libre ... histoire d'avoir toujours de la memoire
libre sous le coude ...
pour finir a mon avis de la ram il n'y en a jamais de trop, au pire
c'est pas gaché c'est pour le cache disque si tu l'utilise pas...
A+
aurel
-- ------------------------------------------------------------------ a voir: http://shanseifan.com/Famille/05_Muriel//Blog/luxembourg9cu_fr.jpg(...)
Je pense d'ailleurs que ce gars traine dans les parages...-
[^]Re: Swappons un peu
Posté par CoinKoin () le 08/04/2005 à 19:16. (lien). Évalué à 4.Ben mince, alors, je ne pensais pas que c'était reconfigurable... Merci, moi aussi, ça m'apprend quelque chose.
Cela dit, ce gars est sous noyau 2.4, et je viens de vérifier à l'instant : il n'y a pas de fichier /proc/sys/vm/swappiness en 2.4 .
Donc, manifestement, c'est reconfigurable en 2.6, en revanche, sous son 2.4, je ne sais pas.
-
Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.debian



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.