#1 Le 23/04/2022, à 19:47
- Bybeu
Taille du swap pour l'hibernation
Bonjour à tous
On lit des infos sur la taille qui doit être ≥ à celle de la RAM.
Mais ne faudrait-il pas avoir la taille du swap ≥ 2*RAM + epsilon pour le cas où au moment de l'hibernation le swap serait déjà plein ? Et ceci quelle que soit la taille de la RAM ?
Cette possibilité n'est jamais évoquée... heu, en réfléchissantun peu il faudrait en fait swap ≥ RAM+swap+epsilon ...mais ça, ça va être possible, y'a pas d'arrangement, y'a pas d'arrangement non non
Merci
Dernière modification par Bybeu (Le 23/04/2022, à 19:48)
Hors ligne
#2 Le 23/04/2022, à 20:08
- jplemoine
Re : Taille du swap pour l'hibernation
En gros, il faut taille + la RAM + epsilon. Je crois que c'est parce qu'en tant normal, le swap ne devrait pas être utilisé sauf exception.
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#3 Le 26/04/2022, à 12:52
- Bybeu
Re : Taille du swap pour l'hibernation
Bonjour jp
En fait il suffirait d'1 octet de swap utilisé, pour que si on a réglé swap=ram en taille, alors ça empêche la mise en hibernation. Les seuls contournements que je voie c'est donc pas de swap, ou alors swap sous forme de fichier (pas une partition) redimensionnable par le système en cas de besoin.
Hors ligne
#4 Le 26/04/2022, à 13:02
- iznobe
Re : Taille du swap pour l'hibernation
Les seuls contournements que je voie c'est donc pas de swap, ou alors swap sous forme de fichier (pas une partition) redimensionnable par le système en cas de besoin.
Bonjour , je sais pas si c' est une fausse idée ou pas , mais il n' est mentionnée nulle part , que la taille d ' un swap sous forme fichier soit extensible par l' OS .
Evidemment la taille de celui-ci peut etre moindre , mais je ne pense pas qu ' elle puisse s ' agrandir automatiquement , vu la doc a ce sujet , une taille MAX est allouée :
https://doc.ubuntu-fr.org/swap
d' ailleurs on peut voir la taille du fichier de swap avec la commande suivante :
swapon -s
Pour verifier la taille allouée au fichier d ' echange ou la modifier :
section 3.4
Dernière modification par iznobe (Le 26/04/2022, à 13:10)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
En ligne
#5 Le 26/04/2022, à 14:56
- Bybeu
Re : Taille du swap pour l'hibernation
Bonjour , je sais pas si c' est une fausse idée ou pas , mais il n' est mentionnée nulle part , que la taille d ' un swap sous forme fichier soit extensible par l' OS .
Effectivement, j'avais un doute en écrivant ça. J'ai pensé à Windows qui par défaut resize le swap si besoin
Hors ligne
#6 Le 26/04/2022, à 15:29
- geole
Re : Taille du swap pour l'hibernation
Bonjour.
Il faudrait lancer l'hibernation pour constater qu'il n'y a probablement pas de problème.
Normalement, si pas de place en swap, il devrait le signaler en disant d'arrêter quelques applications afin de pouvoir hiberner.
Comme tu l'as si bien dit , lorsque l'utilisateur swappe à mort et que la ram fait 64 Go, le epsilon est conséquent. C'est donc bien par un arrêt de quelques applications qu'il est alors possible d'hiberner.
Il me semble avoir vu écrit que le fichier de swap s'agrandissait en cas de besoin.
Bien que cela ne soit pas une preuve, mon ordinateur est équipé de 4 instances ubuntu qui ne sont pas à la même version. Voici ce que je vois. Le dernier vient d'être installé hier et je ne l'ai pas encore utilisé.
a@a:~$ ls -hls /swa*
1,5G -rw------- 1 root root 1,5G févr. 16 17:12 /swapfile
a@a:~$ ls -hls SDA9/swap*
1,7G -rw------- 1 root root 1,7G févr. 16 16:51 SDA9/swapfile
a@a:~$ ls -hls SDA13/swap*
1,8G -rw------- 1 root root 1,8G avril 13 09:57 SDA13/swapfile
a@a:~$ ls -hls SDA17/swap*
513M -rw------- 1 root root 512M avril 25 13:37 SDA17/swapfile
Dernière modification par geole (Le 26/04/2022, à 16:25)
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
En ligne
#7 Le 26/04/2022, à 17:40
- iznobe
Re : Taille du swap pour l'hibernation
Il me semble avoir vu écrit que le fichier de swap s'agrandissait en cas de besoin.
je l' ai aussi vu dans la doc sur une page relative , mais pas en rapport avec direct le swap c' etait dans la page de doc sur l' hibernation ( il me semble ) .
Mais pourquoi devrait on definir une taille , si le noyau etait capable d ' agrandir a la volée si necessaire le fichier de swap et qu ' il est dit dans la page de swap section 3.4 :
Les fichiers d'échange ont quelques avantages par rapport aux partitions d'échange.
Pour commencer, leur ajout ou suppression n'a pas d'impact sur la table des partitions du disque dur, ce qui limite les possibles pertes de données liées à la modification à posteriori du système de partitions d'un disque dur. Par conséquent, il est aisé d'attribuer à la volée plus ou moins d'espace d'échange selon les besoins, qu'ils soient temporaires ou non.
Enfin, même s'ils sont stockés dans un système de fichiers, les fichiers d'échange sont exploités directement par le noyau Linux; l'utilisation d'un espace d'échange, sous forme de partition ou de fichier, devrait être identique quant aux performances.Pour créer un fichier d'échange :
Depuis un compte d'administrateur, ouvrez un terminal ;
Utilisez fallocate pour réserver un bloc d'espace disque à attribuer à votre espace d'échange :sudo fallocate -l <taille du fichier en octets> <nom du fichier>
Le paramètre -l indique la taille (length) en octets qui doit être réservée pour l'espace d'échange. fallocate reconnaît aussi quelques suffixes, tels m et g, pour préciser des tailles en mibi-octets ou gibioctets. Par exemple, pour réserver 512 Mio, indiquez 512m ; pour réservez 1 Gio, indiquer 1g ;
Le nom du fichier doit contenir le chemin absolu vers l'emplacement de celui-ci. Sinon, il sera créé dans le répertoire courant ;
Exemple : pour créer un fichier de 512 Mio nommé file.swap et situé à la racine d'Ubuntu, on utilisera la commande suivante :sudo fallocate -l 512m /file.swap
Bref , ca me semble pas clair ce point , mais j' ai probablement tort , ce n' est qu ' une supposition de ma part .
On notera aussi que dans les avantages du fichier d ' echange , il n' est nullement fait mention de la taille qui s' agrandi(rai)t automatiquement .
Par contre il est dit qu ' on peut en modifier la taille aisément puisque pas de modification de partition .
Quand a cette derniere phrase de la doc :
Enfin, même s'ils sont stockés dans un système de fichiers, les fichiers d'échange sont exploités directement par le noyau Linux; l'utilisation d'un espace d'échange, sous forme de partition ou de fichier, devrait être identique quant aux performances.
elle est contredite dans cette meme page , en disant que quand ca swappe , le disque subit des acces concurentiels ( puisque demande sur le swap d' une part et dans la majorité des cas demande sur des acces pour le logiciel qui travaille ) , et qu ' il est preferable de mettre le swap sur un disque secondaire quand c ' est possible evidemment que ce soit un fichier ou une partition .
Je ne sais pas si " fallocate " reserve des blocs contigus ? ( afin d' eviter la fragmentation , surtout pour les disques mecaniques )
EDIT : voici ou il est dit que le fichier de swap est capable de s ' agrandir : https://doc.ubuntu-fr.org/tutoriel/acti … chier_swap , mais aucune explication ni source a ce propos .
Dernière modification par iznobe (Le 26/04/2022, à 18:03)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
En ligne
#8 Le 26/04/2022, à 18:18
- geole
Re : Taille du swap pour l'hibernation
Attention. Pour hiberner il faut une partition ou un seul fichier de swap car un seul OFFSET.
Fallocate réserve a la suite quand c'est possible sinon c'est fragmenté.
@a:~$ fallocate fic -l 50G
fallocate: échec de fallocate: Aucun espace disponible sur le périphérique
a@a:~$ fallocate fic -l 20G
a@a:~$ filefrag -e fic
Filesystem type is: ef53
File size of fic is 36874891264 (9002659 blocks of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 4095: 9181184.. 9185279: 4096: unwritten
1: 4096.. 8191: 9340928.. 9345023: 4096: 9185280: unwritten
2: 8192.. 10239: 9361408.. 9363455: 2048: 9345024: unwritten
3: 10240.. 12287: 9369600.. 9371647: 2048: 9363456: unwritten
4: 12288.. 14335: 9375744.. 9377791: 2048: 9371648: unwritten
5: 14336.. 16383: 9476096.. 9478143: 2048: 9377792: unwritten
6: 16384.. 20479: 9480192.. 9484287: 4096: 9478144: unwritten
7: 20480.. 28671: 9494528.. 9502719: 8192: 9484288: unwritten
8: 28672.. 36863: 9512960.. 9521151: 8192: 9502720: unwritten
9: 36864.. 38911: 9533440.. 9535487: 2048: 9521152: unwritten
10: 38912.. 43007: 9539584.. 9543679: 4096: 9535488: unwritten
11: 43008.. 59391: 9551872.. 9568255: 16384: 9543680: unwritten
12: 59392.. 61439: 9578496.. 9580543: 2048: 9568256: unwritten
13: 61440.. 63487: 9619456.. 9621503: 2048: 9580544: unwritten
14: 63488.. 75775: 9605120.. 9617407: 12288: 9621504: unwritten
15: 75776.. 102399: 9639936.. 9666559: 26624: 9617408: unwritten
16: 102400.. 133119: 9668608.. 9699327: 30720: 9666560: unwritten
17: 133120.. 159743: 9705472.. 9732095: 26624: 9699328: unwritten
18: 159744.. 190463: 9734144.. 9764863: 30720: 9732096: unwritten
19: 190464.. 215039: 9773056.. 9797631: 24576: 9764864: unwritten
20: 215040.. 245759: 9799680.. 9830399: 30720: 9797632: unwritten
21: 245760.. 374783: 9832448.. 9961471: 129024: 9830400: unwritten
......
5772: 8998903.. 8998911: 4424101.. 4424109: 9: 4430333: unwritten
5773: 8998912.. 8999362: 4433198.. 4433648: 451: 4424110: unwritten
5774: 8999363.. 8999779: 4429161.. 4429577: 417: 4433649: unwritten
5775: 8999780.. 9000167: 4425491.. 4425878: 388: 4429578: unwritten
5776: 9000168.. 9000545: 4423705.. 4424082: 378: 4425879: unwritten
5777: 9000546.. 9000959: 4434066.. 4434479: 414: 4424083: unwritten
5778: 9000960.. 9001271: 4426518.. 4426829: 312: 4434480: unwritten
5779: 9001272.. 9001834: 4434582.. 4435144: 563: 4426830: unwritten
5780: 9001835.. 9002127: 4424575.. 4424867: 293: 4435145: unwritten
5781: 9002128.. 9002363: 4425244.. 4425479: 236: 4424868: unwritten
5782: 9002364.. 9002565: 4433763.. 4433964: 202: 4425480: unwritten
5783: 9002566.. 9002658: 4427356.. 4427448: 93: 4433965: last,unwritten,eof
fic: 5784 extents found
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
En ligne
#9 Le 26/04/2022, à 18:59
- Coeur Noir
Re : Taille du swap pour l'hibernation
Hello,
à propos de la taille de la swap, en fonction de la ram / usage hibernation ou pas voir https://help.ubuntu.com/community/SwapF … _I_need.3F :
RAM No hibernation With Hibernation Maximum
256MB 256MB 512MB 512MB
512MB 512MB 1024MB 1024MB
1024MB 1024MB 2048MB 2048MB
RAM No hibernation With Hibernation Maximum
1GB 1GB 2GB 2GB
2GB 1GB 3GB 4GB
3GB 2GB 5GB 6GB
4GB 2GB 6GB 8GB
5GB 2GB 7GB 10GB
6GB 2GB 8GB 12GB
8GB 3GB 11GB 16GB
12GB 3GB 15GB 24GB
16GB 4GB 20GB 32GB
24GB 5GB 29GB 48GB
32GB 6GB 38GB 64GB
64GB 8GB 72GB 128GB
128GB 11GB 139GB 256GB
256GB 16GB 272GB 512GB
512GB 23GB 535GB 1TB
1TB 32GB 1056GB 2TB
2TB 46GB 2094GB 4TB
4TB 64GB 4160GB 8TB
8TB 91GB 8283GB 16TB
Débuter ⋅ Doc ⋅ Bien rédiger ⋅ Retour commande ⋅ Insérer image | illustrations & captures d'écran < ⋅ >
Hors ligne
#10 Le 26/04/2022, à 19:23
- Bybeu
Re : Taille du swap pour l'hibernation
Idée : un ssd de 128Go~1To (voir le tableau) avec dedans une seul partition (swap) à partager entre toutes les linux installés. Et hop
Hors ligne
#11 Le 26/04/2022, à 20:00
- Coeur Noir
Re : Taille du swap pour l'hibernation
Alors oui tu peux partager une partition swap entre plusieurs OS. Sous conditions.
Tu n'hiberneras qu'un OS à la fois → en cas d'hibernation, la swap est utilisée pour stocker tout ce qu'il y avait en RAM + l'état des activités logicielles en cours.
D'où en cas d'hibernation, besoin de + de swap ( qui sert de stockage fixe, puisque la RAM est volatile. )
Et en cas de multi-OS à hiberner, dédier un « compartiment » de swap pour chacun.
La taille de swap dépend de 2 critères :
⋅ la taille de la RAM,
⋅ la nécessité d'hiberner.
Bref c'est le tableau dans le message précédent.
Débuter ⋅ Doc ⋅ Bien rédiger ⋅ Retour commande ⋅ Insérer image | illustrations & captures d'écran < ⋅ >
Hors ligne
#12 Le 26/04/2022, à 20:19
- geole
Re : Taille du swap pour l'hibernation
Idée : un ssd de 128Go~1To (voir le tableau) avec dedans une seul partition (swap) à partager entre toutes les linux installés. Et hop
Grosse erreur.
Chaque O.S. vérifie que cela lui est dédié au moment de sortir d'hibernation
En clair, si tu hibernes L'0.S. moins un et que tu lances normalement un autre O.S. celui-ci, à son démarrage met sa signature dans la partition de swap. Du coup, O.S. moins un ne retrouve plus rien à son réveil.
Dernière modification par geole (Le 26/04/2022, à 20:30)
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
En ligne
#13 Le 26/04/2022, à 21:36
- Coeur Noir
Re : Taille du swap pour l'hibernation
…sauf à dédier un bout de swap à chaque OS, cf. plus haut, et plus haut, et https://doc.ubuntu-fr.org/swap#utiliser … s_systemes
Pourquoi pas utiliser un support pour plusieurs fichiers swap ?
Débuter ⋅ Doc ⋅ Bien rédiger ⋅ Retour commande ⋅ Insérer image | illustrations & captures d'écran < ⋅ >
Hors ligne
#14 Le 27/04/2022, à 07:30
- FrancisFDZ
Re : Taille du swap pour l'hibernation
Bonjour,
De ce que je comprend de ce fil, je tire la conclusion que si le besoin d'hibernation n'est pas une priorité, mieux vaudrait l'éviter
-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]
Hors ligne
#15 Le 27/04/2022, à 09:03
- Bybeu
Re : Taille du swap pour l'hibernation
Bon, ben alors 1 SSD de swap par OS Linux alors
Hors ligne
#16 Le 27/04/2022, à 09:29
- FrancisFDZ
Re : Taille du swap pour l'hibernation
Bon, ben alors 1 SSD de swap par OS Linux alors
Dommage de gaspiller un SSD (voire plusieurs) pour du swap
Dernière modification par FrancisFDZ (Le 27/04/2022, à 09:29)
-- On peut avoir des raisons de se plaindre et n'avoir pas raison de se plaindre --
[Victor Hugo]
Hors ligne
#17 Le 27/04/2022, à 10:19
- Bybeu
Re : Taille du swap pour l'hibernation
Bybeu a écrit :Bon, ben alors 1 SSD de swap par OS Linux alors
Dommage de gaspiller un SSD (voire plusieurs) pour du swap
Bonjour Francis
Oui bien sûr c'est cher, mais c'est le prix de l'importance qu'on accorde à l'hibernation.
Déjà l'hibernation ne concerne que les desktops, pas les serveurs, donc si on avait une notif/popup/warning qui prévient que le seuil de swapiness est atteint, et/ou d'une insuffisance de taille de swap au delà de la taille définie (par fallocate ou la taille de partition) au moment de la demande d'hibernation, ça pourrait répondre aux contraintes.
Dans XP on pouvait laisser l'OS gérer la taille (ce qui ne signifie pas qu'il pouvait l'augmenter indéfiniment à la volée), soit fixer une taille initiale affublée d'un maximum, ce qui correspond peu ou prou aux possibilités de fallocate (taille initiale en moins si j'ai bien exploré le man).
Hors ligne
#18 Le 27/04/2022, à 11:59
- geole
Re : Taille du swap pour l'hibernation
Bybeu a écrit :Bon, ben alors 1 SSD de swap par OS Linux alors
Dommage de gaspiller un SSD (voire plusieurs) pour du swap
Bonjour.
Non, une partition de swap par O.S. Elles peuvent être toutes dans le même SSD car leur utilisation n'est pas simultanée.
De plus, le tableau fourni est à prendre avec des pincettes pour un particulier.
Si tu as 512Go de RAM, je serais surpris qu'elle soit pleine à 200%. Déja à 50% cela sera pas mal. donc cela ne fait que 256go de swap.
Charger 256 Go en RAM même à partir d'un SSD va prendre beaucoup de temps.
Et que dire pour 8To qui sera certainement alors sur un disque dur. Probablement plus de 12 heures?
En revanche, si tu n'as que 1Go de RAM, je te conseille plutôt 8 Go de swap au lieu de 1Go
Dernière modification par geole (Le 27/04/2022, à 12:19)
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
En ligne
#19 Le 27/04/2022, à 12:15
- Bybeu
Re : Taille du swap pour l'hibernation
C'est vrai que tant à faire chauffer la CB, si la carte mère n'est pas gavée autant acheter de la RAM
Hors ligne
#20 Le 27/04/2022, à 14:32
- Coeur Noir
Re : Taille du swap pour l'hibernation
Non, une partition de swap par O.S.
Ou un fichier de swap par OS.
Disons que tu as plusieurs OS installés sur un support, et pour chacun d'eux tu souhaites pouvoir les « hiberner ».
Tu as un autre support qui peut servir de swap → une seule partition formatée en EXT× → cette partition est montée par fstab dans chaque OS → depuis chaque OS tu crées un fichier swap avec noms distincts dans cette partition.
Je n'ai aucune idée des avantages et inconvénients d'une telle méthode mais techniquement c'est faisable.
Ce support dédié swap ne fera l'objet d'écritures qu'en cas de swap ( à priori pas souvent sauf si RAM trop courte ) et au moment de l'hibernation de l'un ou l'autre OS.
Débuter ⋅ Doc ⋅ Bien rédiger ⋅ Retour commande ⋅ Insérer image | illustrations & captures d'écran < ⋅ >
Hors ligne