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!
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!
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!
Et puis, tout ce qui est
en swap n'a pas non plus forcément besoin d'être récupéré.
Et puis, tout ce qui est
en swap n'a pas non plus forcément besoin d'être récupéré.
Et puis, tout ce qui est
en swap n'a pas non plus forcément besoin d'être récupéré.
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...
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...
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...
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.
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.
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.
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 ?
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 ?
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 ?
Pascal Hambourg, lundi 12 février 2007, 17:06:31 CETSalut,
'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.
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.
Pascal Hambourg, lundi 12 février 2007, 17:06:31 CETSalut,
'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 :)
[...]
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 :)
[...]
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, 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 :)
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 :)
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 :)
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).
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
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).
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
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).
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
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.
Sans doute doivent-ils aussi sauver les caches
fichiers qui sont modifiés en mémoire mais pas encore enregistrés
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.
Sans doute doivent-ils aussi sauver les caches
fichiers qui sont modifiés en mémoire mais pas encore enregistrés
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.
Sans doute doivent-ils aussi sauver les caches
fichiers qui sont modifiés en mémoire mais pas encore enregistrés