SWAP pour hibernation avec beaucoup de RAM

Tags: #<Tag:0x00007f509fd9f3b8>

Non ça ne se monte pas en effet. Mais la swap a obligatoirement d’un système de fichier propre à elle même pour pouvoir être créé ainsi que pour que le système puisse écrire et lire sur cette partition.

La fonction trim permet au système de choisir si tu préfères…

Il y a des blocs de secours dans les ssd de qualité (environ 10 %). Sur les samsung tu peux même augmenter cet espace manuellement. Après si tu achètes des ssd venus de chine et conçus avec des cartes SD alors là je veux bien te croire…

On parle d’une faible consommation c’est vrai, perso j’éteins ma multiprise chaque fois que j’éteins mon PC, je ne veux pas que même quelques Watts ou dixièmes de Watts soient consommés via l’alimentation ATX lorsque mon PC est éteint. Tu as déjà entendu parler de ce que l’on nomme les appareils vampires ?

Non pas toi mais notre ami oui, et puis j’ai eu la flemme à cette heure ci de relire vos explicatifs pour répondre avec détails, tu répondras très certainement mieux que moi à cette question de lenainjaune

Remarque que pour virer la m…, il n’y a qu’a supprimer tout les fichiers cachés de type .qqch à part ça le fait de garder /home permet aussi de conserver une bonne partie de la config de ma machine.

Instruit toi en lisant au minimum le chapitre intitulé « La gestion de l’usure (wear leveling) » :

https://www.digitec.ch/fr/page/le-fonctionnement-dun-disque-ssd-est-une-affaire-complexe-7399

1 J'aime

La seule fois où je l’ai fait (j’ai mis ma machine en hibernation par erreur), mes VM ont planté ensuite.
Je ne met jamais ma machine en hibernation.

La mise en hibernation de machine virtuelle est possible sur KVM et Xen, mais je ne pense pas que mettre l’hôte en hibernation provoque la mise en hibernation des machine virtuelle par contre … donc crash probable des machines virtuelles.

1 J'aime

Un truc que je ne comprends pas : quand les VMs sont en cours, elles utilisent la RAM donc si moi je dis avant de mettre en hibernation, fige la RAM, copie en le contenu dans un fichier, en l’occurrence le SWAP et au réveil, fait l’inverse copie le contenu du SWAP dans la RAM, et défige, qu’est ce qui entraînerait un crash ? Et je ne parle même pas de mettre les VMs elles mêmes en hibernation …

C’est ce que je pense aussi :slight_smile:

Très intéressant comme article. Je ne suis pas sûr d’avoir tout compris mais je remarque quand même que le type de technologie des cellules mémoire (SLC, MLC ou TLC), n’est pas beaucoup communiqué alors que c’est ce qui conditionne leur durée de vie. De plus, les SSD ne remontent pas tous la technologie qu’ils utilisent.

Mon SSD (source) :

user@host:~$ cat /sys/class/block/sdd/device/model 
Corsair Force GS

=> aucune information sur la technologie dans mon cas

C’est du MLC, information trouvable sur certains forum de passionné d’informatique et bricoleur en tout genre :wink:

Le terme secteur est ce qui a sans doute fais tiquer Pascal :wink: le fait qu’il y ai une réserve de block est normal et présente depuis les premiers SSD.

En règle générale on demande de ne jamais remplir un ssd au delà des 80 ou 90% de souvenir.

1 J'aime

J’ai dit que le swap pour l’hibernation devait être dimensionné en fonction de la quantité de mémoire maximum utilisée en prenant une marge, indépendamment de la taille de la RAM . Tu as dit que c’était 16 Go. Je laisse la détermination de la marge à ton appréciation.

Bah, pour la marge, j’ai aussi l’impression qu’il n’y a pas de mesure vraiment sure. J’ai 8 Go de ram, 16 de swap, et plein d’onglets (une bonne centaine) ouverts dans Firefox.
Si je ne quitte pas Firefox avant d’hiberner, ça plante systématiquement. Pas de problème en le quittant.

Pourquoi ?

Ça arrive si on laisse l’installateur du second système s’accaparer les swaps existants (et je reconnais que c’est ce que l’installateur Debian a tendance à faire, à mon grand regret). On aurait tout autant des problèmes s’il s’accaparait de même les partitions racine ou home existantes. Mais quel est le rapport avec le fait d’avoir plusieurs swaps pour un même système ?

Ça vaut ce que ça vaut, mais j’ai démarré une VM gérée par virt-manager (qemu/kvm) puis j’ai mis la machine hôte en hibernation pendant quelques minutes. Au réveil, la VM tournait toujours.

N’importe quoi. Le swap a un format, mais ça n’a rien à voir avec un système de fichiers. Il n’y a pas de répertoires ni de fichiers, seulement des pages de mémoire.

Non plus. La fonction TRIM ne permet rien au système, elle signale seulement au SSD que le contenu des secteurs indiqués est sans importance pour le système. Cela permet au SSD de gérer l’effacement des blocs et le ramasse-miette (garbage collector) plus efficacement et de limiter l’amplification d’écriture.

Ils ne sont pas différenciés, contrairement aux blocs de secours d’un disque dur. Ils font simplement partie des blocs vides « cachés » prêts à être alloués et écrits. Ça n’aurait aucun sens de réserver 10% de la capacité totale à ne rien faire alors qu’ils peuvent servir pour l’optimisation de l’écriture, le nivellement de l’usure, le ramasse-miettes…

Quel rapport avec l’hibernation ? Une machine en hibernation ne consomme pas plus qu’une machine éteinte, point barre. On peut tout autant couper l’alimentation d’une machine en hibernation.

Cet article ne m’a rien appris que je ne savais déjà sur l’aspect opérationnel d’un SSD. Tu fais probablement allusion à cette citation :

Les disques SSD possèdent ce qu’on appelle une zone de réserve qui y est consacrée. Il s’agit d’une zone de données que le système d’exploitation ne voit pas. Elle facilite également le remplacement des blocs endommagés.

Sauf qu’il ne s’agit pas d’une zone physique déterminée, c’est seulement l’ensemble des blocs physiques qui ne sont pas exposés en blocs logiques à un moment donné dont j’ai parlé plus haut, et cet ensemble change continuellement au gré des écritures et effacements.

Non, j’élude la distinction secteur/page/bloc pour ne pas compliquer encore plus les choses.

2 J'aime

Merci @Clochette :grinning_face_with_smiling_eyes: Si je comprends bien quand ce n’est pas remonté c’est MLC ? Et qu’en est-il des TLCs ?

Ça ça me plait :stuck_out_tongue::+1: !

Et en plus la logique me fait dire que je ne vois pourquoi ça planterait !

Bien sûr elle écris, sur un disque au petit bonheur alors selon toi ? J’abandonne avec toi à ce sujet et à propos des autres sujets aussi. Y a rien de pire qu’une personne convaincue d’avoir raison quand ce n’est pas le cas…

Si tu es excelles dans certains domaines, là tu as de grosses lacunes.

Bye et bonne soirée / week-end.

Une chose qui pourrait éventuellement perturber la VM, c’est le saut de date entre la mise en hibernation et le réveil. Le système hôte sait qu’il a été hiberné et s’y attend, mais pas le système dans une VM.

1 J'aime

Pas besoin d’un système de fichiers pour ne pas écrire n’importe où. Qu’est-ce que ça a de difficile à comprendre ? LVM n’est pas un système de fichiers non plus, et ça n’écrit pas n’importe où pour autant.

En effet, et j’attends encore que tu me prouves que j’ai tort.

Tu es juste un nihiliste à 2 balles en ce cas, je n’ai pas de temps à perdre avec toi, tu m’en vois désolé pour toi…

J’ai du faire quelque chose qui n’allait pas probablement. J’utilise extrêmement peu l’hibernation, je n’en ai aucune utilité. Le démarrage de ma machine ne prend moins de 10 secondes et si j’ai des VM active je n’ai donc pas de raisons d’hiberner.

Oui c’est vrai.

La gestion des blocs défectueux inclut les méthodes Skip Block et Reserve Block, qui détectent les blocs défectueux et demandent au contrôleur maître soit d’ignorer les blocs défectueux, soit de remplacer les blocs défectueux par de bons blocs réservés.

Retour sur l’implémentation du SWAP :

J’ai donc mis sur HDD (donc mécanique) un SWAP de la taille de ma RAM (32 GB), démarré quelques applications, démarré une VM Linux, mis en lecture un film puis sans interrompre sa lecture, ait mis en hibernation. J’ai chronométré environ 30s avant arrêt total de la machine (aucun signe d’activité). Puis j’ai redémarré (sortie d’hibernation) et là j’ai constaté qu’il fallait environ 1 minute avant d’afficher la boite d’ouverture de session. De plus j’ai constaté que j’entendais déjà le film avant d’ouvrir ma session et une fois ouverte toutes les applications étaient ouvertes à leur emplacement respectif et la VM était toujours en cours et opérationnelle.

Bon ça me semble assez acceptable tout ça même si ça met 1 minute à sortir de veille, je trouve que pour conserver son environnement en cours tout en évitant le gaspillage électrique, ça vaut la peine.

Je vais dire que le problème est résolu mais je ferais des retours sur une expérience à plus long terme.