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