Vous n'êtes pas identifié(e).
Pages : 1
Dernière modification par Debian Alain (25-12-2019 19:00:07)
Hors ligne
saque eud dun (patois chtimi : fonce dedans)
Hors ligne
o_O
Hors ligne
1) à quoi çà sert ?
A éviter les crashs !
Et à hiberner également
2) comment fonctionne t elle ?
Quand la ram est pleine, le swap prend le relais !
Quant à l'hibernation, c'est le swap qui se remplit à la place de la ram, qui elle se vide.
3) l'intérêt ? important ou aléatoire ?
Tout dépend de l'utilisation qu'on a du pc.
4G de ram pour aller sur Youtube ou faire du traitement de texte, pas besoin de swap. Par contre, pour faire tourner ne nombreuses applications lourdes en même temps, le swap permet d'éviter les crashs d'applications qui ne disposeraient plus d'espace de stockage temporaire.
Plus on a de ram, moins on a besoin de swap.
A noter que le swap ne remplace pas la ram, c'est juste une sécurité. D'autant que les performances du stockage temporaire sur hdd...
4) de l'usage : sur hdd ou sur ssd ?
5) pourquoi (ou pas) un type de disque plus qu'un autre ?[
Dans l'idéal, sur hdd.
Déconseillé sur sdd à cause de l'usure.
6) de l'usure prématurée du ssd avec la swap aujourd'hui ...
Avis personnel :
La durée de vie des ssd ne cesse de croitre. Je pense qu'on peut sans problème mettre du swap sur un ssd récent à certaines conditions :
- ne pas hiberner
- ne swapper ni comme un bourrin, ni régulièrement. Le swap doit rester une sécurité
7) activation / désactivation (comment et pourquoi ?)
Je désactive puis active pour remettre le contenu les infos sauvées en swap dans la ram.
Le système renvoie le contenu du swap dans la ram lorsque celle-ci se vide assez, mais ça prend du temps. Alors autant le faire à la main.
Edit : J'ai oublié le "comment"
Pour désactiver le swap
(Si on ouvre un htop en parallèle, on peut voir le swap qui se vide et la ram qui se remplie )
Pour activer le swap
Dites-moi si je suis à côté de la plaque
Dernière modification par Nsyo (20-09-2018 12:19:23)
Hors ligne
saque eud dun (patois chtimi : fonce dedans)
Hors ligne
Dites-moi si je suis à côté de la plaque
Tu es à côté de la plaque.
Le swap ne sert pas qu'à l'hibernation et éviter les crash. Il sert surtout à décharger de la mémoire des données dont le système n'a pas besoin immédiatement.
Quand la ram est pleine, le swap prend le relais !
Non, ça ne marche pas comme ça.
Quant à l'hibernation, c'est le swap qui se remplit à la place de la ram, qui elle se vide.
Non, ça ne marche pas du tout comme ça non plus.
Le système crée une image d'hibernation d'abord en mémoire, l'écrit dans l'espace libre du swap et s'arrête. La mémoire n'est jamais vidée, sauf s'il faut swapper une partie des données pour libérer de la place pour créer l'image, mais c'est le processus de swap classique, ce n'est pas propre à l'hibernation.
Dans l'idéal, sur hdd.
Déconseillé sur sdd à cause de l'usure.
Quelle usure ? Ceux qui affirment cela ont-il comparé le volume moyen d'écriture dans le swap avec le volume d'écriture des autres activités et avec l'endurance des SSD actuels ?
La durée de vie des ssd ne cesse de croitre. Je pense qu'on peut sans problème mettre du swap sur un ssd récent à certaines conditions :
- ne pas hiberner
- ne swapper ni comme un bourrin, ni régulièrement. Le swap doit rester une sécurité
Le swap n'est pas une sécurité. C'est une fonctionnalité normale du système.
De deux choses l'une :
- si le système swappe peu en utilisation normale, il n'y a aucune raison de se priver de la vitesse du SSD
- si le système swappe beaucoup en utilisation normale, il ramera à mort si le swap est sur disque. On doit donc choisir entre des performances déplorables, user le SSD, ou augmenter la RAM.
Il vaut mieux montrer que raconter.
Hors ligne
par contre avec un raspberry avec 1go de ram, je mettrais vm.swappiness = 100
Pourquoi ? Si le swap est sur une carte SD, celle-ci risque de ne pas durer longtemps...
Il vaut mieux montrer que raconter.
Hors ligne
Quelle usure ? Ceux qui affirment cela ont-il comparé le volume moyen d'écriture dans le swap avec le volume d'écriture des autres activités et avec l'endurance des SSD actuels ?
C'est un peu le débat Vim vs Emacs là
- si le système swappe peu en utilisation normale, il n'y a aucune raison de se priver de la vitesse du SSD
- si le système swappe beaucoup en utilisation normale, il ramera à mort si le swap est sur disque. On doit donc choisir entre des performances déplorables, user le SSD, ou augmenter la RAM.
C'est peu ou prou ce que j'ai dit.
j'ai toujours lu et entendu que le swap avait pour rôle d'être une extension de la ram au cas ou celle-ci serait pleine.
C'est une simplification grossière. D'autre part chaque système d'exploitation gère le swap d'une façon qui lui est propre. Le swap n'est pas une extension de la RAM. Il faut bien comprendre que instructions exécutées par les processus et les données manipulées par ces instructions à un instant donné doivent être présentes en RAM.
Auquel cas c'est sur le disque qu'écrit le noyau.
Pas forcément. Le swap peut être en mémoire. Quel intérêt ? Il peut être compressé (via zram).
vm.swappiness par défaut est à 60 chez Debian, donc écriture sur le disque à partir de 40% d'occupation de la ram.
60 est la valeur par défaut du noyau Linux, elle n'est pas spécifique à Debian.
Je répète que cette valeur ne correspond pas du tout à un seuil d'occupation de la mémoire. Il suffit d'examiner la sortie de la commande free pour le voir. Cela n'aurait aucun sens de laisser 60% par défaut de la mémoire libre (donc inutilisée), cela reviendrait à avoir 60% de mémoire en moins !
La mémoire est faite pour être utilisée. TOUTE la mémoire. La mémoire libre est de la mémoire gaspillée.
La mémoire est divisée en pages. En simplifiant à l'extrême, les pages mémoire se répartissent en deux catégories :
- les pages "anonymes" contenant les données des processus,
- les pages de cache contenant des données liées au système de fichiers, qui se répartissent elles-même en plusieurs catégories (pagecache, dentries, inodes) mais je n'entrerai pas dans les détails.
Toutes les données lues ou écrites sur le système de fichiers sont mises en cache en mémoire. En lecture, cela permet d'accèder plus rapidement aux données déjà en cache sans avoir besoin de les recharger depuis le disque. En écriture, cela permet de ne pas attendre que les données soient effectivement écrites sur le disque.
Quand le noyau a besoin d'allouer de la mémoire et que la mémoire libre est en deçà d'un certains seuil (qui n'a rien à voir avec vm.swappiness, je le répète), il va lancer une procédure "d'éviction" pour libérer de la mémoire. L'éviction consiste à décharger des données de la mémoire. Les pages candidates à l'éviction sont dans les deux catégories citées précédemment : les pages anonymes et les pages de cache. Les pages de cache contiennent des données qui sont déjà stockées sur disque ou qui ont vocation à y être stockées (écritures en attente). Les données déjà stockées sur disque peuvent être immédiatement supprimées, et celles en attente d'écriture sur disque peuvent être écrites puis supprimées.
Les pages anonymes, en revanche, ne sont pas associées au système de fichiers. Avant de les décharger de la mémoire, elles doivent être écrites dans un espace du disque appelé "espace d'échange" ou swap. La encore, les pages qui ont été écrites dans le swap puis rechargées et utilisées sans être modifiées peuvent être immédiatement supprimées, alors que les pages qui n'ont jamais été écrites dans le swap ou qui ont été modifiées depuis leur précédente écriture doivent être écrites sur disque avant d'être supprimées.
On peut constater une similitude des mécanismes d'échange entre les pages anonymes et le swap d'une part, et les pages de cache et le système de fichiers d'autre part. D'une certaine façon on pourrait dire que les pages anonymes sont le cache du swap.
La valeur de vm.swappiness n'influe que sur la préférence du noyau à évincer des pages de cache (si valeur basse) ou anonymes (si valeur élevée). Mais ce n'est pas le seul critère qui entre en compte. Le noyau peut préférer swapper une page anonyme qui n'a pas été utilisée depuis longtemps plutôt qu'une page de cache qui a été utilisée récemment et a donc une plus grande probabilité d'être utilisée à nouveau.
Il vaut mieux montrer que raconter.
Hors ligne
saque eud dun (patois chtimi : fonce dedans)
Hors ligne
Pages : 1