-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Sylvain Sauvage wrote: > Franck Joncourt, mardi 13 février 2007, 23:20:05 CET >> [...] > Presque. C'est la RAM qui est un cache pour la mémoire virtuelle, > laquelle est la somme de la swap et d'une partie de la RAM (overcommit). > On a : > 1. un peu de RAM pour le noyau ; > 2. beaucoup de RAM pour les caches (partie « text » du code > et fichiers) ; > 3. le reste de la RAM pour les données des programmes ; > 4. le swap pour les données des programmes. > Et on espère que la mémoire utilisée à un moment donné tient dans la > partie 3. pour ne pas avoir à aller en lire/écrire des pages dans la > swap. > Le noyau préfère aussi utiliser la RAM comme cache : quand les > données ne servent pas, elles sont mises en swap pour faire de la > place. > >> Je ne comprends pas l'utilite de "vider la swap", puisqu'elle sera >> rechargee ensuite avec au moins une partie des donnees qui y etaient >> deja presentes afin d'accelerer le "calcul". > > Parce que les mécanismes de suspension sur disque (hibernation) > utilisent la swap comme espace de stockage persistent. Ils y sauvent > l'état du système. Donc, au minimum, ils doivent sauver les données du > noyau et les données anonymes (et sûrement quelques données > supplémentaires). Sans doute doivent-ils aussi sauver les caches > fichiers qui sont modifiés en mémoire mais pas encore enregistrés et > peut-être quelques autres données. En tout cas, si le swap est déjà > plein, ces mécanismes ont tendance à avorter (ils ne forcent pas le > vidage des caches). >
Je cerne un peu mieux le probleme avec ces nouvelles notions. > D'où la question : comment vider le swap pour que l'hibernation se > passe facilement. > Ou comment faire pour dire au noyau de reprendre ces billes de la swap, pour laisser de la place a des donnees de plus grande importance a l'instant t. > En y repensant, je pense que vider les caches devrait être tout aussi > efficace et moins dangereux : en général, la mémoire allouée est de > taille_du_swap + taille_de_RAM/2 > (1/2 = /proc/sys/vm/overcommit_ratio / 100), donc toute la mémoire > allouée ne tient pas forcément en RAM seule, donc vider la swap sans > perte de données (= sans qu'un processus saute) n'est pas toujours > possible. > C'est bien ce qui m'ennuyait. > Pour vider les caches (depuis 2.6.16) : > sync ; sync ; sync ; echo 3 > /proc/sys/vm/drop_caches > Je ne savais meme pas qu'il etait possible de le faire. Du coup le noyau pourrait le faire lui meme. C'est plus facile a dire qu'a faire :p! - -- Franck Joncourt http://www.debian.org http://smhteam.info/wiki/ GPG server : pgpkeys.mit.edu Fingerprint : C10E D1D0 EF70 0A2A CACF 9A3C C490 534E 75C0 89FE -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFF01whxJBTTnXAif4RAgVPAKDRU7UPZmlzVH50fjDBGyI6t9wg4ACgoMh8 axokZc1G+nr9kinEdEccdEk= =veNT -----END PGP SIGNATURE----- ___________________________________________________________ Copy addresses and emails from any email account to Yahoo! Mail - quick, easy and free. http://uk.docs.yahoo.com/trueswitch2.html -- Lisez la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et "Reply-To:" To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]