Aller au contenu


SWAP : espace d'échange

swap espace déchange partition fichier dphys-swapfile swap space

  • Vous ne pouvez pas répondre à ce sujet
11 replies to this topic

#1 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 19 avril 2014 - 10:41

Salut !

 

Pas question ici d'échange de flux financier ou de remplacer le moteur de son véhicule. En informatique, le ''swap space'' (swap), est une zone d'un disque dur faisant partie de la mémoire virtuelle.

« Le principe est simple: le système comprend une certaine quantité de mémoire vive contenue dans des barrettes mémoires, la RAM. Cette quantité ne peut être dépassée. Or, il peut arriver que la demande en mémoire soit plus importante que la mémoire disponible. Il a donc fallu imaginer un système permettant de fournir de la mémoire supplémentaire. C’est le rôle de cette Swap.

Ainsi, lorsque la RAM est saturée, le système utilise une partie de mémoire disponible sur le disque dur. Cela permet à des programmes de s’exécuter malgré le manque de mémoire centrale. Elle permettra aussi de partager de la mémoire entre différents processus et de faire tourner plusieurs applications en même temps en optimisant la gestion de la mémoire. »

Programat .. Linux Core

 

Beaucoup pensent que la swap affecte les performances du système d'exploitation et certains voudraient même ne pas en utiliser afin d'augmenter la place disponible sur le disque pour les données personnelles.

Ce qui affecte réellement les performances, c'est d'abord de ne pas avoir assez de mémoire RAM. Vient ensuite la lenteur du disque.

 

 

[I] .. Utilisation de l'espace d'échange.

[a] Saturation de la mémoire RAM.

Le lancement de plusieurs logiciels et l'ouverture de plusieurs fichiers volumineux peut dépasser la limite de saturation de la mémoire, surtout quand celle-ci a une faible capacité. Progressivement, le système libère de la RAM en déchargeant dans l'espace d'échange les pages de travail des applications très peu ou pas utilisées à un moment donné pour que les fichiers ouverts puissent rester en mémoire vive, dans leur ''buffer cache'', le plus longtemps possible.

[b] Réglage du niveau de déclenchement de la swap.

Suivant les distributions, la swap peut être déclenchée dès 40 % de l'utilisation de la RAM. Ce faible taux ne fait qu'accélérer le besoin d'un espace d'échange. Il peut cependant être modifié.

[c] Hibernation (mise en veille prolongée)

Lors de l'arrêt du système, quand cette fonction est active, une copie de la mémoire vive est effectuée dans le système d'échange. Ceci implique qu'un seul espace de travail ne suffit pas lorsque deux systèmes ''superposés'' fonctionnent'' en même temps sur le même ordinateur (dont l'un dans une machine virtuelle par exemple). Dans ce cas, il est cependant possible de créer dans le système virtualisé un fichier swap qui viendra compléter la partition dédiée de l'autre.

[d] Autre utilisation.

En cas de dysfonctionnement d'un programme (surcharge, ''fuite'' de mémoire etc.) , l'usage automatique de l'espace d'échange peut permettre d'interrompre le processus correspondant et de terminer le travail.

[e] Cas particulier : OOM Killer

Un mécanisme nommé OOM-Killer (pour Out-Of-Memory Killer) est incorporé au noyau Linux. Celui-ci se déclenche lorsqu'il y a dépassement de mémoire et que la swap est déjà remplie. Il ''tue'' les processus selon un algorithme complexe afin d’éviter un plantage complet de l'ordinateur. Il n'y a donc pas toujours lieu de s'étonner si des applications cessent brutalement de fonctionner.

 

 

[II] .. Déclenchement du mécanisme de swap.

Variable suivant la distribution installée mais parfois hâtive.

[edit]

Plus que d'autres, ceux qui n'ont que de vieux ordinateurs équipés d'une distributions Linux se plaignent parfois de lenteurs qu'ils ne comprennent pas, même si celles-ci sont en général moindres que celles qu'ils ont connues avec Windows. Comme Linux ne se pollue pas comme le fait Windows, à quoi est-ce dû ?

 

Une raison majeure est le déclenchement du mécanisme de swap. Combien d'utilisateurs de distributions Linux s'en préoccupent-ils ? Dans mon entourage, trop peu !

« À partir de 40% d'utilisation de la RAM (donc 60% de libre), le noyau peut se délester sur la swap.»

Ceux qui se sont donnés la peine de lire « régler le déclenchement du swap » (paragraphe 6) et d'appliquer les préconisations ne sont pas légion.

 

Je relance donc → ICI ← ce sujet en détaillant la manœuvre à suivre pour changer le déclenchement du ''swapping'' (généralement, le retarder).

[/edit]

 

 

[III] .. Taille de l'espace d'échange.

Il n'y a pas de règle absolue. Chacun doit mettre du sien pour la déterminer, que ce soit en fonction de la RAM disponible ou des logiciels utilisés simultanément et des fichiers ouverts. Les besoins du système varient aussi d'une distribution à l'autre et doivent être pris en compte.

Celui qui veut faire fonctionner en même temps un puissant éditeur de vidéo et d'autres logiciels gloutons en mémoire vive doit avoir beaucoup de RAM ou un très vaste espace d'échange s'il ne veut pas que OOM-Killer se déclenche ou que le système se plante.

 

Attention !!! Sur les architectures 32 bits (i386 et autres) la taille maximale d'un espace d'échange est de 2 Go. Comme l'hibernation ne peut se faire que sur une seule partition swap, installez une distribution 64 bits si votre ordinateur le permet ou utilisez plusieurs espaces d'échange.

 

[a] Pour un usage ''courant'' dans une distribution ''moyenne'', la taille de l'espace d'échange est calculée le plus souvent en fonction de la mémoire disponible.

.. Pour 512 Mo de RAM ou moins, envisagez 1 Go de swap,

.. Pour 1 Go de RAM, 1,5 Go de swap peut suffire,

.. Pour 2 Go de RAM disponibles et plus, une taille de swap à peine supérieure peut-être envisagée.

[b] Pour certains, une méthode de calcul consiste à rajouter 0,5 Go à la taille de la RAM quelle que soit celle-ci ce qui revient à peu près au même que ci-dessus.

[c] Rajoutez 20 à 50 % si la distribution installée est très ''lourde'' et que vous avez des intentions très dépensières en mémoire alors que vous en avez peu.

 

[d] Selon Red Hat / CentOS ..

Swap space CentOS.png

 

 

 

[e] Lorsque l'option « utiliser tout un disque » est utilisée, il faut noter que l'outil de partitionnement automatique incorporé à certaines distributions ne suit pas toujours scrupuleusement ces règles.

Ci-dessous, voici ce qu'a fait Manjaro avec 4 Go de RAM ..

M SSD60 10 gparted 01.png

.. lorsque 1 Go est pris par la gestion graphique et qu'il reste donc 3 Go de RAM utilisable par le système.

 

[f] Avec 2 Go ou moins de RAM et à cause du mécanisme d'hibernation, ne sous-dimensionnez pas l'espace d'échange en lui affectant une taille inférieure à celle de la RAM. Veillez à bien régler le déclenchement du mécanisme de swap.

 

…. …. …. ….


Ce message a été modifié par Txon - 19 décembre 2016 - 11:03 .

"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)


#2 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 19 avril 2014 - 10:52

…. …. …. ….

 

[IV] .. Partition ou fichier.

Certains, comme moi, sont de vieux traditionalistes et veulent une partition dédiée au swap. « Une place pour chaque chose et chaque chose à sa place » comme disait ma grand-mère.

D'autres trouvent cela contraignant et préfèrent un simple fichier dans le système pour se retrouver dans un méli-mélo semblable à celui de Windows. Ce sont souvent les mêmes qui ne veulent pas de partition dédiée aux dossiers personnels et se retrouvent avec ''tout en vrac'' comme sous les premières installations de XP. C'est déconseillé car si la partition unique se corrompt, il ne sera plus possible d’accéder à quoi que ce soit. Il faut cependant noter que cette solution extrême à l'avantage de plus de souplesse sur les disques de très faible capacité.

 

Quoi que vous choisissiez, sachez que la partition /swap est une espace ''raw'' un peu plus rapide d'accès que les autres partitions où le format de fichier doit être géré (''overhead'', fragmentation etc.). Si la différence est minime sur les disques rapides actuels et même insignifiante avec un SSD, elle peut être ressentie sur des disques lents qui encombrent les vieilles pétoires, les ''netbooks'' et autres cochonneries du même genre.

De plus et contrairement à ce que je fais, il est recommandé de mettre la partition de swap en début de disque car la vitesse de transfert y est (très) légèrement supérieure que tout en bout. Je ne sais plus où, j'ai lu qu'un débutant voulait mettre cet espace d'échange sur une clé USB ordinaire. Mauvaise idée !

 

Dans les cas les plus tordus, il est possible de mixer les deux solutions : partition dédiée et fichier d'échange ..

.. partition dédiée a priori insuffisante pour les besoins présumés,

.. plusieurs systèmes Linux fonctionnant en même temps ..

 

Note : il est possible d'hiberner sans avoir de partition dédiée au swap mais ceci requiert un fichier d'échange : Hibernate Without Swap Partition (wiki Debian)

 

 

[V] Ajouter/gérer un fichier d'échange.

Impératif si aucune partition d'échange n'est dédiée au swap.

La technique est parfaitement décrite depuis belle lurette par Nix Craft : Linux Add a Swap File – Howto ..

Comme c'est un peu complexe, et heureusement pour les débutants, Tchim a dégoté un paquet qui simplifie la manœuvre : dphys-swapfile (Neil Franklin)

Il sert à mettre en place, monter/démonter et supprimer un fichier swap.

dphys-swapfile.png

General Commands Manual: dphys-swapfile (Juan Carlos)

Lors d'un essai de Tchim sur un ordinateur équipé d'une distribution 32 bits et de 1 Go de RAM, un fichier de 2 Go a été automatiquement alloué par dphys-swapfile.

 

J'en ai marre. J'arrête là, tout au moins pour aujourd'hui.

 

@+

 

Swap (wiki ArchLinux) .. Swap (wiki Debian)

All about Linux swap space (Gary Sims .. Linux.com .. 07 septembre 2007)

Creating dynamic swap space (Debian administration .. 27 septembre 2007)

Swap vs. no swap (Alexander Sandler .. aleXonlinuX .. 21 août 2008)

Ajouter du SWAP sous Linux (StandarT .. StandarTux .. juin 2009)

Linux Swap Space (Tony Kay .. LinuxJournal .. 01 mars 2011)

Gestion de la RAM sous Linux (Nicolas Panhaleux .. Randco .. 31 décembre 2012)

How to Configure the Linux Out-of-Memory Killer (Robert Chase .. Oracle .. 19 février 2013)

How To Add Filesystem Swap on Linux and Unix Systems (Ben .. GeekSwing .. 27 juin 2013)

What You Need to Know About Swap Partitions on Linux (Gary Sims .. MakeTechEasier .. 05 décembre 2013)


"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)


#3 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 21 avril 2014 - 08:05

…. …. …. ….

 

L'astuce qui consiste à n'avoir qu'une partition /swap pour deux distributions Linux sur le même ordinateur est connue depuis bien longtemps. Elle n'est pas valable pour une distribution lancée dans une machine virtuelle ''au-dessus'' de l'autre mais dans le cadre d'un multiple-démarrage (multiboot). En fait, il suffit que les deux systèmes d'exploitation ne fonctionnent pas en même temps.

Je ne l'avais jamais essayée.

 

Pour la première fois donc, j'ai partitionné un disque de telle manière que l'installation d'une distribution Point Linux et d'une Manjaro puissent partager une seule et même partition swap. Grâce à l'outil de partitionnement (GParted ..) incorporé aux installateurs, il a simplement fallu affecter le point de montage /swap à cette partition commune lors de l'installation de chacune des distributions. Tout fonctionne à merveille.

 

@+

 

Note .. Rappel :

Une éventuelle partition de démarrage /boot et bien entendu la racine du système / ne doivent en aucun cas se partager entre deux distributions Linux présentes sur un même ordinateur.


"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)


#4 Cudoinj

Cudoinj

    Touriste Phobosien

  • Eminence Verte
  • PipPipPipPip
  • 76 Messages :
  • Gender:Male

Posté 13 mai 2014 - 14:18

Je viens d'installer Manjaro sur le deuxième disque dur de mon PC. Comme, en bon Michu, je n'ai absolument pas lu ce post, je n'ai mis que 2 GO de swap alors que mon PC en a 6 de RAM. Est ce grave, docteur?


Pour consulter (presque) tous mes posts: http://mavielinux.com/
 


#5 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 13 mai 2014 - 17:51

Je viens d'installer Manjaro sur le deuxième disque dur de mon PC. Comme, en bon Michu, je n'ai absolument pas lu ce post, je n'ai mis que 2 GO de swap alors que mon PC en a 6 de RAM. Est ce grave, docteur?

Peut-etre, ou pas. Tout dépend de ce que tu fais de ta RAM.

.. Si tu la scindes en deux pour monter une machine virtuelle et qu'il ne reste que 3 Go pour ta distribution de base, alors le déclenchement du swap pourra se faire à partir de 1,2 Go de mémoire occupée. Dans ce contexte tout dépendra donc du fait que tu utilises ou non des logiciels très gloutons comme ceux de retouches vidéo.

.. Si tu ne désactives pas l'hibernation, il risque fort aussi qu'il n'y ait pas assez de place dans la swap pour loger tout le contenu de la RAM ce qui pourrait entraîner un blocage du système.

 

Surtout si tu as un disque suffisant, je te conseille de refaire ton partitionnement ou de rajouter un fichier swap complémentaire.

Voir ..

.. Plus haut .. [V] Ajouter/gérer un fichier d'échange.

.. Tutorial : Ajouter du SWAP sous Linux (StandarTux)

.. Augmenter l’espace d’échange (SWAP) avec un fichier sous Linux (Mickael .. IT-Connect .. 28 avril 2013)

 

@+


"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)


#6 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 04 mars 2015 - 10:16

..

 

Avez-vous besoin d'une partition Swap ? Do You Need A Swap Partition? (Gary Newell .. About Tech .. 03 mars 2015)

 

« Si vous avez un ordinateur avec une petite quantité de mémoire .. c'est fortement recommandé. »

 

« En clair, si vous avez une machine avec 1 gigaoctet de RAM vous êtes plus susceptibles de nécessiter une partition de swap que si vous avez une machine avec 16 gigaoctets de RAM. Il est fort probable que vous n'aurez jamais à utiliser l'espace de swap sur une machine avec 8 gigaoctets de RAM ou plus, sauf si vous faites un fort "number crunching" ou une édition vidéo. »

 

« Vous pouvez mettre l'espace de swap sur un SSD et, en théorie, il sera beaucoup plus rapide d'accéder à cette partition que sur un disque dur traditionnel. Les SSD ont une durée de vie limitée et ne peuvent traiter qu'un certain nombre de lectures et écritures. Pour mettre les choses en perspective ce nombre est en fait très élevé et votre SSD survivra probablement à la vie de votre ordinateur. »

 

« Rappelez-vous l'espace d'échange est censé être un tampon de débordement (overflow buffer) et ne pas être continuellement utilisé. Comme mentionné précédemment, si vous trouvez que vous utilisez constamment la partition de swap envisagez une augmentation de la mémoire. »

 

@+


"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)


#7 noisette

noisette

    Webmarster

  • Admin
  • PipPipPipPipPipPipPipPipPip
  • 21 125 Messages :
  • Gender:Male

Posté 04 mars 2015 - 12:49

Vous pouvez mettre l'espace de swap sur un SSD et, en théorie, il sera beaucoup plus rapide d'accéder à cette partition que sur un disque dur traditionnel.



Bonne idée ! Merci !

#8 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 04 mars 2015 - 13:13

..

 

Il y a belle lurette que j'ai mis la partition swap sur un SSD d'ancienne génération (donc plus "fragile") ainsi que deux distributions Linux complètes et il fonctionne toujours.

Je l'ai mentionné à diverses reprises dont à l'occasion de la présentation de la carte-mère MSI A78M-E35 - Click BIOS 4  et de Debian et Manjaro.

Cette swap est commune aux deux distributions sans que j'ai noté le moindre conflit.

 

Sur plusieurs ordinateurs dont je m'occupe, la partition swap et les autres partitions du système sont également sur un SSD (plus récent) et aucun problème ne m'a été signalé.

 

@+


"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)


#9 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 04 mars 2017 - 01:19

..

Swap sur SSD (ArchLinux)

À vous d'évaluer combien de mémoire vive (RAM) vous utilisez généralement par rapport à la quantité de RAM installée sur la machine. Si vous utilisez plus de RAM que vous en avez, ou bien si vous utilisez la fonction d'hibernation, vous avez besoin d'une partition/fichier de swap.
Un grand débat vise à savoir si on peut mettre le swap sur le SSD. Vous êtes le seul maître de cette décision : sachez qu'un usage intensif du swap peut user prématurément votre SSD, mais mettre le swap sur le SSD peut donner un peu plus de réactivité à votre ordinateur en cas de swap. Certains SSD ayant une petite capacité, peut-être qu'une partition de swap sur le SSD ne vous arrange pas. Si la machine possède aussi un disque dur (en plus du SSD), on peut donc mettre la partition de swap sur le disque dur, si nécessaire.
On peut ajuster la valeur à laquelle le système va commencer à décharger le RAM dans le swap (swappiness). Par défaut, le système commencera à utiliser le swap dès que 60% de la RAM seront occupés. On peut donc définir une valeur entre 0 et 100.



----    ----    ----    ----    ​----    ----    ----    ----    ----    ----    ----    ----    ----    ----    ----    ----

Des questions se posent sur l'utilité du ''swap'' ..

Do You Need A Swap Partition?  (Gary Newell .. Lifewire .. 21 août 2016)

Do we really need swap in modern systems (Red Hat .. 21 février 2017)

@+


"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)


#10 Neuromancien

Neuromancien

    Octozimien

  • Modérateur
  • PipPipPipPipPipPipPipPipPip
  • 6 058 Messages :
  • Gender:Male
  • Location:Moselle

Posté 28 janvier 2018 - 04:35

Un article technique sur le SWAP : https://chrisdown.na...ce-of-swap.html

ICI ←réglage du swap.


"Nous sommes des nains juchés sur des épaules de géants. Nous voyons ainsi davantage et plus loin qu'eux, non parce que notre vue est plus aiguë ou notre taille plus haute, mais parce qu'ils nous portent en l'air et nous élèvent de toute leur hauteur gigantesque." (Bernard de Chartres, XIIe siècle)


#11 Severian

Severian

    Plus riant que sévère

  • Eminence Verte
  • PipPipPipPipPipPipPip
  • 747 Messages :
  • Gender:Male

Posté 30 mars 2018 - 08:21

un sujet sur debian-facile (à la base une demande d'aide, sur les derniers posts il y pas mal d'infos intéressante (et un peut de chicanes :D))

https://debian-facil....php?pid=259572


ob3-de10.pngbanner98x30.png


#12 Txon

Txon

    AïoligaToR

  • Administrateur
  • PipPipPipPipPipPipPipPipPip
  • 10 854 Messages :
  • Gender:Male

Posté 31 mars 2018 - 17:21

un sujet sur debian-facile (à la base une demande d'aide, sur les derniers posts il y pas mal d'infos intéressante (et un peut de chicanes :D))

https://debian-facil....php?pid=259572

la partition de swap est de 1GO sur une memoire de 32GO

 

N'affecter que 1 Go de RAM à la partition swap sur un serveur est déjà courir au devant des ennuis surtout si le serveur en question est très sollicité. De plus, avec 32 Go de mémoire, le mécanisme de swap se déclenche dès que 12,8 Go sont utilisés et il reste donc à ce moment là 19,2 Go libres.

Sur un serveur, ça peut faire mal !

 

La meilleure solution pour éviter les emmerdements consiste en deux points :

. régler le déclenchement du mécanisme de swap (ajuster la valeur de swappiness) à 20 ou 10 ou 05 (au lieu de 60)

. réinstaller son serveur après avoir effectué un partitionnement plus adéquat : 32Go pour couvrir l'intégralité de la RAM ne serait pas exagérer.

 

-> Retour en haut du sujet <-

​-> SWAP : déclenchement <-

 

@+


"They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety."(Benjamin Franklin)




0 utilisateur(s) en train de lire ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)