OVH Cloud OVH Cloud

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

7 réponses

1 2
Avatar
Vincent Bernat
OoO La nuit ayant déjà recouvert d'encre ce jour du jeudi 15 février
2007, vers 23:17, Yves Rutschle
disait:

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



Au contraire : rien de plus pénible que de revenir de veille avec une
machine qui lit dans tous les sens sur le disque pendant une
minute. Mieux vaut mettre quelques secondes de plus pour récupérer le
contenu du cache.
--
printk(KERN_WARNING "%s: Short circuit detected on the loben",
dev->name);
2.4.0-test2 /usr/src/linux/drivers/net/tokenring/lanstreamer.c


--
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 Fri, Feb 16, 2007 at 12:39:33AM +0100, Vincent Bernat wrote:
> Le cache des fichiers est sauvegardé en swap? J'espère que
> non, ça parait sous-optimal :-)

Au contraire : rien de plus pénible que de revenir de veille avec une
machine qui lit dans tous les sens sur le disque pendant une
minute. Mieux vaut mettre quelques secondes de plus pour récupérer le
contenu du cache.



Lire les fichiers directement du système de fichier, ou les
lire du swap, il n'y a (presque) pas de différence. De même
au moment de l'écriture quand on change le contenu des
fichiers: écrire directement dans le système de fichier, ou
écrire le fichier changé dans le swap (puis le relire, puis
le réécrire dans le système de fichier plus tard) est
équivalent sur le moment (et pire dans le 2eme cas, à long
terme).

À moins que tu ne parles d'applications codées n'importe
comment qui tiennent leur propre chache au lieu de faire des
mmap et de laisser le noyau gérer ses billes :-)

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
Avatar
Sylvain Sauvage
Yves Rutschle, jeudi 15 février 2007, 23:17:53 CET

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?



Oui, c'est pour cela que j'ai finalement proposer de vider les caches.

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

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



Vincent a répondu. J'ajouterais que :
– le swap, c'est de la mémoire, ça n'a pas de structure c omplexe comme
un FS et c'est effectivement plus rapide ;
– le format utilisé par suspend (n'est pas celui du swap et) p eut être
compressé, ce qui accélère la restauration.

--
Sylvain Sauvage
Avatar
Yves Rutschle
On Fri, Feb 16, 2007 at 05:30:11PM +0100, Sylvain Sauvage wrote:
> Le cache des fichiers est sauvegardé en swap? J'espère que
> non, ça parait sous-optimal :-)

Vincent a répondu. J'ajouterais que :
??? le swap, c'est de la mémoire, ça n'a pas de structure complexe comme
un FS et c'est effectivement plus rapide ;



La seule différence me parait être qu'il faut mettre à jour
un inode, donc un bloc de plus à écrire... Le reste est du
calcul, négligeable par rapport à l'écriture proprement
dite.

??? le format utilisé par suspend (n'est pas celui du swap et) peut être
compressé, ce qui accélère la restauration.



Logiquement, tous les FS devraient donc être compressés car
ça devrait être plus rapide? Pourtant, les seuls FS
compressés sont extrèmement particuliers (JFFS par ex.).

J'ai du mal à suivre la logique.

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
Avatar
Vincent Bernat
OoO En ce début de soirée du vendredi 16 février 2007, vers 21:40,
Yves Rutschle disait:

Vincent a répondu. J'ajouterais que :
??? le swap, c'est de la mémoire, ça n'a pas de structure complexe comme
un FS et c'est effectivement plus rapide ;





La seule différence me parait être qu'il faut mettre à jour
un inode, donc un bloc de plus à écrire... Le reste est du
calcul, négligeable par rapport à l'écriture proprement
dite.



Un FS, c'est des données éparpillées partout, des structures complexes
à parcourir (il faut le trouver l'inode), etc.

??? le format utilisé par suspend (n'est pas celui du swap et) peut être
compressé, ce qui accélère la restauration.





Logiquement, tous les FS devraient donc être compressés car
ça devrait être plus rapide? Pourtant, les seuls FS
compressés sont extrèmement particuliers (JFFS par ex.).



J'ai du mal à suivre la logique.



Un FS, c'est des accès aléatoires, pas un resume.
--
BOFH excuse #365:
parallel processors running perpendicular today


--
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
Yves Rutschle, vendredi 16 février 2007, 21:40:46 CET

On Fri, Feb 16, 2007 at 05:30:11PM +0100, Sylvain Sauvage wrote:
> > Le cache des fichiers est sauvegardé en swap? J'espère que
> > non, ça parait sous-optimal :-)
>
> Vincent a répondu. J'ajouterais que :
> ??? le swap, c'est de la mémoire, ça n'a pas de structure com plexe
> comme un FS et c'est effectivement plus rapide ;

La seule différence me parait être qu'il faut mettre à jour
un inode, donc un bloc de plus à écrire... Le reste est du
calcul, négligeable par rapport à l'écriture proprement
dite.



Écrire/lire à plusieurs endroits du disque en subissant plusieu rs
indirections (structures du FS et abstractions intermédiaires) est
forcément plus long qu'écrire/lire des blocs de taille fixe (une page
mémoire), qui plus est quand ces derniers sont contigus (ce qui est le
cas pour une hibernation).

> ??? le format utilisé par suspend (n'est pas celui du swap et) peut
> être compressé, ce qui accélère la restauration.

Logiquement, tous les FS devraient donc être compressés car
ça devrait être plus rapide? Pourtant, les seuls FS
compressés sont extrèmement particuliers (JFFS par ex.).



Cette phrase est une utilisation de la technique de l'homme de paille.
Je n'ai pas dit que la compression devrait être appliquée à   toutes
les entrées-sorties fichier. Je n'ai pas dit que la compression é tait
une condition suffisante pour améliorer la vitesse de tout et n'importe
quoi.
J'ai dit que les buts de l'hibernation et les structures et
mécanismes utilisés permettaient d'utiliser la compression pour
augmenter la vitesse de l'hibernation et de la restauration. Et c'est
exactement ce qui est fait.

J'ai du mal à suivre la logique.



Pour résumer le tout, la logique est la suivante :

But : on désire sauver tout l'état de la machine dans une mé moire
persistante.

Données à considérer :
1. quelques états, registres, noyau, données noyau... ;
2. la mémoire anonyme (mémoire allouée aux programmes pour leurs
données, pas les fichiers), laquelle occupe une partie de la RAM
(2r) et une partie du swap (2s) ;
3. les caches fichiers, programmes, bibliothèques et fichiers
ouverts. Certains sont en lecture seule et ne sont jamais allées en
RAM (3d), d'autres sont en cours de modification ou sont allées
faire un tour en RAM (3r).

Il est clair que 1. et 2. sont forcément à sauvegarder.
On peut aussi remarquer que 1. doit forcément être restaurà © en
mémoire (car ce n'est pas de la mémoire qui peut se trouver en sw ap).
Dans ce cas (celui où l'on a déjà besoin de replacer en RAM des blocs
entiers qui y étaient avant), et plutôt que de mettre en swap les
données 2r qui sont en RAM et de se retrouver avec des défauts de page
dans tous les sens au réveil, autant utiliser la même technique q ue
pour les données 1. : lire de gros blocs de RAM et les coller dans un
format ad hoc (pour ne pas dire tels quels) dans la partition de swap
(je n'ai pas dit la swap : c'est dans la partition de swap mais pas
sous la forme de swap), avec compression ou chiffrage au passage.

Les données 2s sont déjà dans la partition de swap, sous f orme de
swap. On n'est pas obligé d'y toucher (sauf si on chiffre lors de
l'hibernation mais pas le swap normal (ce qui est un peu stupide)).
Une réallocation (défragmentation) peut être envisageable (j e n'ai pas
fouillé les différents codes d'hibernation mais je crois que c'est
fait).

Les données 3d, celles qui sont des mmap en lecture seule, du code de
programmes et de bibliothèques, n'ont pas à être sauvegarder
puisqu'elles sont déjà sur le disque dans le bon état et les données 1.
contiennent déjà les informations nécessaires. Elles n'ont j amais été
dans la RAM.

Il nous reste les données 3r : le cache en RAM de fichiers plus ou
moins modifiés par rapport à leur état sur le disque.
Comme tu le disais dans un autre courriel, un mauvais programmeur
gère lui-même ses caches à gros coups de tampons plutôt que de laisser
le système le faire en utilisant des mmap. Et dans ce cas, ces tampons
se retrouvent dans les données 2.
Et bien on peut tout à fait considérer que Linux est très mal
programmé et qu'il utilise tout un tas de tampons (bon, il ne pouvait
pas être programmé autrement puisque c'est lui le système).
Donc les données 3r peuvent aussi être considérées co mme des données
2r. Elles sont en RAM parce que le noyau a trouvé qu'il était opp ortun
de les y mettre, et ces raisons seront les mêmes au réveil : le n oyau
les y remettra, mais pour chaque processus à son tour, avec les
embouteillages et les lectures à des emplacements dispersés, alor s que
la restauration de l'hibernation peut le faire en n'écrivant/lisant que
des blocs contigus de taille fixe, et lorsqu'il est le seul à occuper
les ressources (cpu et disque).

En plus de ces raisons, il faut aussi prendre en compte un des
objectifs de l'hibernation : le système doit être le plus possibl e le
même après restauration qu'avant la sauvegarde. Je veux dire qu'e lle ne
doit pas seulement restaurer les programmes en cours et leur état, ce
qui peut être fait en modifiant légèrement l'état du sy stème (p.ex.
placer un morceau de mémoire en swap ou enlever un fichier du cache
n'est pas visible pour le programme touché (même si ça peut l'être pour
l'utilisateur)), mais qu'elle doit aussi être la moins invasive
possible pour le noyau, notamment au niveau du code. P.ex., je ne suis
pas sûr que le « sync » nécessaire pour les donnée s 3r modifiées par
rapport au disque puisse être fait de façon sûre sans tripot er le noyau
un peu partout.

--
Sylvain Sauvage
Avatar
Yves Rutschle
On Sat, Feb 17, 2007 at 12:05:00AM +0100, Sylvain Sauvage wrote:

> J'ai du mal à suivre la logique.

Pour résumer le tout, la logique est la suivante :



Ok, merci de votre patience à vous 2.

Cette phrase est une utilisation de la technique de
l'homme de paille.



C'est bien DUF: on y apprend comment l'hibernation
fonctionne, et les techniques de rhétorique :-)

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