Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Re: 'vidange' du swap

17 réponses
Avatar
Rémi Suinot
désolé pour la réponse tardive. J'ai des problèmes avev le smtp de gmx.

Si je comprend bien, le fait de désactiver le swap devrait le 'purger' correctement?
Merci de vos avis!
Rémi.
--
R. Suinot: http://www.suinot.org

"Feel free" - 5 GB Mailbox, 50 FreeSMS/Monat ...
Jetzt GMX ProMail testen: www.gmx.net/de/go/mailfooter/promail-out


--
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 debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

10 réponses

1 2
Avatar
Sylvain Sauvage
Rémi Suinot, samedi 10 février 2007, 22:49:02 CET

désolé pour la réponse tardive. J'ai des problèmes av ev le smtp de
gmx.

Si je comprend bien, le fait de désactiver le swap devrait le
'purger' correctement? Merci de vos avis!



Le swapoff oblige le noyau à reprendre ses billes de la swap. Donc la
swap est nettoyée. Le swapon repart avec une swap vide.
Par contre, je ne sais pas ce qui se passerait si le système n'avait
pas assez de mémoire vive pour récupérer ce qui était e n swap...
(En général, la RAM est occupée par des caches qui peuvent être vidés
pour faire de la place à ce qui était en swap. Et puis, tout ce q ui est
en swap n'a pas non plus forcément besoin d'être récupé ré.)

--
Sylvain Sauvage
Avatar
Pascal Hambourg
Salut,

Sylvain Sauvage a écrit :

Et puis, tout ce qui est
en swap n'a pas non plus forcément besoin d'être récupéré.



Quoi, par exemple ?


--
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
with a subject of "unsubscribe". Trouble? Contact
Avatar
fra-duf-no-spam
Le 13556ième jour après Epoch,
Sylvain Sauvage écrivait:

Rémi Suinot, samedi 10 février 2007, 22:49:02 CET

désolé pour la réponse tardive. J'ai des problèmes a vev le smtp de
gmx.

Si je comprend bien, le fait de désactiver le swap devrait le
'purger' correctement? Merci de vos avis!



Le swapoff oblige le noyau à reprendre ses billes de la swap. Donc la
swap est nettoyée. Le swapon repart avec une swap vide.
Par contre, je ne sais pas ce qui se passerait si le système n'ava it
pas assez de mémoire vive pour récupérer ce qui était en swap...



Dans ce cas, certains process sont tués par le système, pour manq ue de
place.
Avatar
Jean-Yves F. Barbier
Le lundi 12 février 2007 16:21, Sylvain Sauvage a écrit :
Rémi Suinot, samedi 10 février 2007, 22:49:02 CET
........;
Le swapoff oblige le noyau à reprendre ses billes de la swap. Donc la
swap est nettoyée. Le swapon repart avec une swap vide.



mea culpa, je croyais que ça ne faisait que le désactiver sans y toucher.

JY
Avatar
Sylvain Sauvage
Pascal Hambourg, lundi 12 février 2007, 17:06:31 CET

Salut,



'soir,

Sylvain Sauvage a écrit :
>
> Et puis, tout ce qui est
> en swap n'a pas non plus forcément besoin d'être récup éré.

Quoi, par exemple ?



Hmm, en y réfléchissant, sans doute rien ;o)
En écrivant la phrase que tu cites, j'ai dû penser à la po ssibilité
de données swapées qui auraient été libérées mais conservées dans une
impossible optique de cache.
Impossible car les données swapées ne sont pas des fichiers (pu isque
les fichiers sont déjà sur le disque). Ce sont des données c onstruites
et utilisées par un programme (pile et tas). Elles sont donc forcà ©ment
éliminées quand elles ne sont plus utilisées (et inversement , si elles
sont utilisées, elles sont remises en RAM par le swapoff). Et leur
élimination se résume à les marquer « inutilisées » et la quantité
d'utilisation du swap sera diminuée en conséquence.

--
Sylvain Sauvage
Avatar
Franck Joncourt
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Sylvain Sauvage wrote:
Pascal Hambourg, lundi 12 février 2007, 17:06:31 CET
Salut,



'soir,

Sylvain Sauvage a écrit :
Et puis, tout ce qui est
en swap n'a pas non plus forcément besoin d'être récupéré.


Quoi, par exemple ?



Hmm, en y réfléchissant, sans doute rien ;o)
En écrivant la phrase que tu cites, j'ai dû penser à la possibilité
de données swapées qui auraient été libérées mais conservées dans une
impossible optique de cache.
Impossible car les données swapées ne sont pas des fichiers (puisque
les fichiers sont déjà sur le disque). Ce sont des données construites
et utilisées par un programme (pile et tas). Elles sont donc forcément
éliminées quand elles ne sont plus utilisées (et inversement, si elles
sont utilisées, elles sont remises en RAM par le swapoff). Et leur
élimination se résume à les marquer « inutilisées » et la quantité
d'utilisation du swap sera diminuée en conséquence.




Bonsoir,

Moi je considere la swap comme memoire ram de second niveau (cache) ; on
l'utilise pour faire basculer des informations qui etaient presentes en
ram, sans les detruire, pour laisser place a des ressources de priorite
superieures, placees elles en ram.

Si la swap ne sert qu'a cela pourquoi vouloir la vider ?
Je pense qu'elle n'est jamais nettoye mais que les donnees sont
reecrites les unes par dessus les autres en fonction des besoins.
Ce serait un peu comme l'allocation d'un buffer de 256 caracteres, par
exemple, pour contenir plusieurs chaines de caracteres. Je ne purgerais
jamais mon buffer lors du chargement des chaines de caracteres car je
sais exactement ou se trouvent les donnees utiles (pointeurs -
delimiteur de chaine).

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".

Voila, j'espere ne pas avoir ete trop confus :)


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

iD8DBQFF0jmVxJBTTnXAif4RAgkuAKCN9cxDQrFpfbcDUDlDWoS9xjvTMACgy0dK
Kzo6cY2oTgvnw4y9sQKLp3g =rUeM
-----END PGP SIGNATURE-----


___________________________________________________________
The all-new Yahoo! Mail goes wherever you go - free your email address from your Internet provider. http://uk.docs.yahoo.com/nowyoucan.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
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Franck Joncourt, mardi 13 février 2007, 23:20:05 CET
[...]
Bonsoir,



'jour,

Moi je considere la swap comme memoire ram de second niveau (cache) ;
on l'utilise pour faire basculer des informations qui etaient
presentes en ram, sans les detruire, pour laisser place a des
ressources de priorite superieures, placees elles en ram.



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.

Si la swap ne sert qu'a cela pourquoi vouloir la vider ?
Je pense qu'elle n'est jamais nettoye mais que les donnees sont
reecrites les unes par dessus les autres en fonction des besoins.
Ce serait un peu comme l'allocation d'un buffer de 256 caracteres, par
exemple, pour contenir plusieurs chaines de caracteres. Je ne
purgerais jamais mon buffer lors du chargement des chaines de
caracteres car je sais exactement ou se trouvent les donnees utiles
(pointeurs - delimiteur de chaine).



Oui c'est à peu près ça.

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).

D'où la question : comment vider le swap pour que l'hibernation se
passe facilement.

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 s ans
perte de données (= sans qu'un processus saute) n'est pas toujours
possible.

Pour vider les caches (depuis 2.6.16) :
sync ; sync ; sync ; echo 3 > /proc/sys/vm/drop_caches

Voila, j'espere ne pas avoir ete trop confus :)



Itou.

--
Sylvain Sauvage
Avatar
Remi Suinot
En ce Wed, 14 Feb 2007 13:29:22 +0100, le sermon de Sylvain Sauvage <Sylvai contenait:

Franck Joncourt, mardi 13 février 2007, 23:20:05 CET
>[...]
> Bonsoir,




.../...

> 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).

D'où la question : comment vider le swap pour que l'hibernation se
passe facilement.

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.

Pour vider les caches (depuis 2.6.16) :
sync ; sync ; sync ; echo 3 > /proc/sys/vm/drop_caches

> Voila, j'espere ne pas avoir ete trop confus :)



Mon problème (je suis l'auteur du mail initiateur), c'est que l'hibernati on fonctionne
mais mon swap est un peu limite... Si le cache est déjà remplie, je ne peux plus
me mettre en hibernation.
Je ne connaissai pas la méthode "sync ; sync ; sync ; echo 3 > /proc/sys/ vm/drop_caches"
Merci de ton avis.
Rémi.

--
R. Suinot: http://remi.suinot.org => page perso
http://linuxette.suinot.org => SpÃcifique a linux
Avatar
Franck Joncourt
-----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
with a subject of "unsubscribe". Trouble? Contact
Avatar
Yves Rutschle
On Wed, Feb 14, 2007 at 01:29:22PM +0100, Sylvain Sauvage wrote:
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.



Mais les chose sauvées dans le swap doivent également être
sauvées pour l'hibernation... donc ça ne sert à rien de
"vider" le swap?

Sans doute doivent-ils aussi sauver les caches
fichiers qui sont modifiés en mémoire mais pas encore enregistrés



Le cache des fichiers est sauvegardé en swap? J'espère que
non, ça parait sous-optimal :-)

Y.


--
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
with a subject of "unsubscribe". Trouble? Contact
1 2