-----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]

Reply via email to