Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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 roll
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.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

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

Bybeu a écrit :

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 utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#5 Le 26/04/2022, à 14:56

Bybeu

Re : Taille du swap pour l'hibernation

iznobe a écrit :

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

Hors ligne

#7 Le 26/04/2022, à 17:40

iznobe

Re : Taille du swap pour l'hibernation

geole a écrit :

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 :

Doc swap a écrit :

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 utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors 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

Hors 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ébuterDocBien rédigerRetour commandeInsé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ébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#12 Le 26/04/2022, à 20:19

geole

Re : Taille du swap pour l'hibernation

Bybeu a écrit :

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

Hors 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ébuterDocBien rédigerRetour commandeInsé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 wink


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

Bybeu a écrit :

Bon, ben alors 1 SSD de swap par OS Linux alors

Dommage de gaspiller un SSD (voire plusieurs) pour du swap hmm

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

FrancisFDZ a écrit :
Bybeu a écrit :

Bon, ben alors 1 SSD de swap par OS Linux alors

Dommage de gaspiller un SSD (voire plusieurs) pour du swap hmm

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

FrancisFDZ a écrit :
Bybeu a écrit :

Bon, ben alors 1 SSD de swap par OS Linux alors

Dommage de gaspiller un SSD (voire plusieurs) pour du swap hmm

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

Hors 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 smile

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ébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne