53 votes

Combien d'espace SWAP pour un système de 2 à 4 Go ?

Comment décider de la taille de mon espace de pagination sur une nouvelle machine Linux (Debian) avec 2 à 4 Go de RAM ? Ai-je vraiment besoin d'espace de pagination ?

54voto

Android Eve Points 883

Il existe de nombreuses façons de déterminer la quantité de swap utilisée dans une machine. Les suggestions les plus courantes utilisent des formules basées sur la RAM, telles que 2 x RAM, 1,5 x RAM, 1 x RAM, 0,75 x RAM et 0,5 x RAM. Souvent, les formules varient en fonction de la quantité de RAM (ainsi, une machine avec 1 Go de RAM peut utiliser 2 x RAM swap (2 Go), tandis qu'une machine avec 16 Go de RAM peut utiliser 0,5 x RAM swap (8 Go).

Il faut également tenir compte de l'usage qui sera fait de la boîte. Si vous avez l'intention de faire tourner un grand nombre de processus simultanément sur la machine, mais qu'un nombre important d'entre eux seront inactifs pendant un certain temps, alors il est judicieux d'ajouter de l'espace de pagination. Si vous devez exécuter un petit nombre de processus critiques, il est judicieux d'ajouter de l'espace de pagination (cela peut sembler contre-intuitif, mais je l'expliquerai dans une minute). Si vous utilisez une boîte comme ordinateur de bureau, il est judicieux d'ajouter de l'espace de pagination.

Quant à savoir si vous devez inclure l'espace de pagination, oui, vous devez le faire. Vous devez toujours inclure l'espace de pagination, sauf si vous vraiment vous savez ce que vous faites, et vous avez vraiment une bonne raison de le faire.

Selon le fonctionnement du noyau Linux, le swap n'est pas seulement utilisé lorsque vous avez épuisé toute la mémoire physique. Le noyau Linux prend les applications qui ne sont pas actives (en sommeil) et, après un certain temps, les transfère de la mémoire réelle vers le swap. Le résultat est que lorsque vous avez besoin de cette application, il y aura un délai momentané (généralement juste une seconde ou deux) pendant que la mémoire de l'application est relue du swap vers la RAM. Et c'est généralement une bonne chose.

Cela vous permet de mettre en veille les applications inactives, ce qui permet à vos applications actives d'accéder à de la mémoire vive supplémentaire. En outre, Linux utilisera toute la mémoire vive disponible (non allouée) d'une machine comme cache de disque, ce qui rendra la plupart des activités de disque (lentes) plus rapides et plus réactives. L'échange de processus inactifs vous permet d'augmenter la mémoire cache du disque et de rendre votre machine plus rapide.

Enfin, ne nous voilons pas la face, l'espace disque n'est pas cher. Vraiment bon marché. Il n'y a vraiment aucune raison de ne pas utiliser une (relativement) petite partie de l'espace pour l'échange. Si je travaillais avec 2 à 4 Go de RAM dans une machine, je configurerais probablement mon espace d'échange pour qu'il soit au moins égal à la RAM. S'il y avait moins de 2 Go de RAM, j'utiliserais quand même au moins 2 Go d'espace de pagination.

MISE À JOUR : Comme le mentionne un excellent commentaire (que j'ai oublié d'inclure), si vous utilisez un ordinateur portable ou un ordinateur de bureau que vous souhaitez mettre en mode "hibernation" (Suspend to Disk), vous pouvez alors toujours Vous devez disposer d'au moins autant d'espace de pagination que de mémoire. L'espace d'échange sera utilisé pour stocker le contenu de la mémoire vive de l'ordinateur pendant qu'il "dort".

17voto

liangzan Points 1733

Red Hat recommande la formule suivante pour les serveurs avec beaucoup de mémoire vive :

if MEM < 2GB then SWAP = MEM*2 else SWAP = MEM+2GB

Si votre système a 1 Go de mémoire vive, votre swap sera de 2 Go, pour 16 Go il sera de 18 Go.

13voto

Tyson Points 3583

Réponse tardive, et je pense que cela a été largement couvert dans la réponse sélectionnée, mais il y a quelques bonnes informations faciles à digérer dans la réponse fournie par @ssapkota. aquí (copié/collé ci-dessous).

Voici une très bonne recommandation de RedHat : Espace de permutation recommandé

Un extrait du même lien :

Par le passé, la quantité d'espace de pagination recommandée augmentait linéairement avec la quantité de mémoire vive du système. Mais comme la quantité de mémoire des systèmes modernes a atteint des centaines de gigaoctets, la quantité d'espace de pagination recommandée n'est plus la même, il est désormais reconnu que la quantité d'espace de pagination dont un système a besoin est fonction de la charge de travail en mémoire qui s'exécute sur ce système. Toutefois, étant donné que l'espace de pagination est généralement désigné au moment de l'installation et qu'il peut être difficile de déterminer à l'avance la charge de travail de la mémoire d'un système, il est possible de déterminer la quantité d'espace de pagination dont un système a besoin. il est recommandé de déterminer la permutation du système à l'aide du tableau suivant.

Tableau actuel (décembre 2012) :

Amount of RAM in the system   Recommended swap space         Recommended swap space 
                                                             if allowing for hibernation
---------------------------   ----------------------------   ---------------------------
2GB of RAM or less            2 times the amount of RAM      3 times the amount of RAM
2GB to 8GB of RAM             Equal to the amount of RAM     2 times the amount of RAM
8GB to 64GB of RAM            0.5 times the amount of RAM    1.5 times the amount of RAM
64GB of RAM or more           4GB of swap space              No extra space needed

Table originale :

Amount of RAM in the System     Recommended Amount of Swap Space
4GB of RAM or less              a minimum of 2GB of swap space
4GB to 16GB of RAM              a minimum of 4GB of swap space
16GB to 64GB of RAM             a minimum of 8GB of swap space
64GB to 256GB of RAM            a minimum of 16GB of swap space
256GB to 512GB of RAM           a minimum of 32GB of swap space

8voto

Rob Points 1138

Cela dépend beaucoup de l'usage que vous en faites. Avec la charge de travail charge de travail appropriée, vous n'avez pas besoin d'espace d'échange, que vous ayez que vous ayez 16 Mo ou 16384 Mo de RAM ; en effet, la plupart des appareils Linux embarqués fonctionnent fonctionnent sans espace d'échange (vers quoi échangeraient-ils ?).

Compte tenu des prix de la mémoire vive, vous n'utiliserez probablement pas le swap pour des calculs actifs. calcul actif. Alors, que reste-t-il ?

  1. Sur les ordinateurs de bureau, l'espace de pagination est utilisé pour la suspension sur disque. Cet espace d'échange doit être d'environ 1 × RAM, en fonction de la qualité de la compression du contenu de la mémoire. mémoire.
  2. Permettre aux tâches inactives d'être supprimées de la mémoire vive afin de libérer de l'espace pour des tâches plus complexes. cache du disque
  3. Idem, mais pour permettre aux processus actifs de l'utiliser à la place pour le tas/la pile.

(2) et (3) dépendent fortement de la charge de travail. Sur mes ordinateurs de bureau, je peux facilement utiliser 4GB+ sur (2), en laissant vims, xterms, etc. fonctionner sur d'autres bureaux. sur d'autres ordinateurs.

Sur la plupart des serveurs que j'utilise, il n'y a presque jamais d'espace de pagination. et 1 à 2 Go de swap (quelle que soit la quantité de RAM) semblent corrects.

4voto

Campbell Points 2129

Cela dépend des services et des applications que vous envisagez d'utiliser. Vous pouvez surveiller votre utilisation de la mémoire avec libre -m et d'ajuster votre partition d'échange en conséquence au fil du temps.

Voici un discussion intéressante sur le sujet. Personnellement (et après avoir lu cette discussion), je laisserais toujours environ 1 Go pour le swap.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X