GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle quantité d'échange devriez-vous utiliser sous Linux ?

De combien devrait être la taille du swap ? L'échange doit-il être le double de la taille de la RAM ou doit-il être la moitié de la taille de la RAM ? Ai-je besoin d'un échange si mon système dispose de plusieurs Go de RAM ?

Ce sont peut-être les questions les plus fréquemment posées sur le choix de la taille du swap lors de l'installation de Linux.

Ce n'est pas nouveau. Il y a toujours eu beaucoup de confusion autour de la taille du swap.

Pendant longtemps, la taille de swap recommandée était le double de la taille de la RAM, mais cette règle d'or n'est plus applicable aux ordinateurs modernes. Nous avons des systèmes avec des tailles de RAM allant jusqu'à 128 Go, de nombreux anciens ordinateurs n'ont même pas autant de disque dur.

Mais quelle taille de swap attribueriez-vous à un système avec 32 Go de RAM ? 64 Go ? Ce serait un gaspillage ridicule de disque dur, n'est-ce pas ?

Avant de voir la taille d'échange que vous devriez avoir, sachons d'abord rapidement une chose ou deux sur la mémoire d'échange. Cela vous aidera à comprendre pourquoi l'échange est utilisé.

L'explication a été simplifiée pour (presque) comprendre tout le monde.

Qu'est-ce que l'échange ? Quand est-ce que l'échange est utilisé ?

Votre système utilise la mémoire vive (ou RAM) lorsqu'il exécute une application. Lorsqu'il n'y a que quelques applications en cours d'exécution, votre système gère avec la RAM disponible.

Mais s'il y a trop d'applications en cours d'exécution ou si les applications ont besoin de beaucoup de RAM, votre système rencontre des problèmes. Si une application a besoin de plus de mémoire mais que toute la RAM est déjà utilisée, l'application plantera.

Swap agit comme un reniflard pour votre système lorsque la RAM est épuisée. Ce qui se passe ici, c'est que lorsque la RAM est épuisée, votre système Linux utilise une partie de la mémoire du disque dur et l'alloue à l'application en cours d'exécution.

Ça sonne cool. Cela signifie que si vous allouez environ 50 Go de taille d'échange, votre système peut exécuter des centaines, voire des milliers d'applications en même temps ? FAUX !

Vous voyez, la vitesse compte ici. Données d'accès à la RAM de l'ordre de la nanoseconde. Un SSD accède aux données en quelques microsecondes alors qu'un disque dur normal accède aux données en quelques millisecondes. Cela signifie que la RAM est 1 000 fois plus rapide que le SSD et 100 000 fois plus rapide que le disque dur habituel.

Si une application s'appuie trop sur le swap, ses performances se dégraderont car elle ne pourra pas accéder aux données à la même vitesse qu'en RAM. Ainsi, au lieu de prendre 1 seconde pour une tâche, cela peut prendre plusieurs minutes pour terminer la même tâche. Cela laissera l'application presque inutile. C'est ce qu'on appelle le thrashing en termes informatiques.

En d'autres termes, un petit échange est utile. Une grande partie ne sera d'aucune utilité.

Pourquoi un échange est-il nécessaire ?

Il y a plusieurs raisons pour lesquelles vous auriez besoin d'échange.

  • Si votre système dispose de moins de 1 Go de RAM, vous devez utiliser le swap, car la plupart des applications épuiseront bientôt la RAM.
  • Si votre système utilise des applications gourmandes en ressources comme les éditeurs vidéo, ce serait une bonne idée d'utiliser un peu d'espace d'échange car votre RAM peut être épuisée ici.
  • Si vous utilisez l'hibernation, vous devez ajouter un swap car le contenu de la RAM sera écrit sur la partition de swap. Cela signifie également que la taille du swap doit être au moins égale à la taille de la RAM.
  • Évitez les événements étranges comme un programme qui devient fou et consomme de la RAM.

Avez-vous besoin d'échange si vous avez beaucoup de RAM ?

C'est une bonne question en effet. Si vous avez 32 Go ou 64 Go de RAM, il est probable que votre système n'utilisera peut-être jamais toute la RAM et donc qu'il n'utilisera jamais la partition d'échange.

Mais allez-vous tenter votre chance ? Je suppose que si votre système dispose de 32 Go de RAM, il devrait également avoir un disque dur de 100 Go. Allouer quelques Go de swap ne fera pas de mal. Il fournira une couche supplémentaire de "stabilité" si un programme défectueux commence à abuser de la RAM.

Pouvez-vous utiliser Linux sans swap ?

Oui, vous pouvez, surtout si votre système dispose de beaucoup de RAM. Mais comme expliqué dans la section précédente, un peu d'échange est toujours conseillé.

En fait, une distribution comme Ubuntu crée automatiquement un fichier d'échange d'une taille de 2 Go. Cela devrait vous indiquer qu'il est recommandé d'avoir de l'espace de swap.

Ne vous inquiétez pas si vous n'avez pas créé de partition d'échange lors de l'installation de Linux. Vous pouvez toujours créer un fichier d'échange sous Linux à tout moment.

Lecture recommandée

Les fichiers d'échange vous permettent de créer et d'utiliser de l'espace d'échange à la volée sous Linux. Vous pouvez facilement les créer, les redimensionner ou les supprimer selon vos besoins.

En savoir plus sur les fichiers d'échange sous Linux

Combien devrait être la taille de l'échange ?

Vient maintenant la grande question. Quel devrait être l'espace d'échange idéal pour une installation Linux ?

Et le problème ici est qu'il n'y a pas de réponse définitive à cette question de taille d'échange. Il n'y a que des recommandations.

Différentes personnes ont une opinion différente sur la taille d'échange idéale. Même les principales distributions Linux n'ont pas la même directive de taille d'échange.

Si vous suivez la suggestion de Red Hat, ils recommandent une taille d'échange de 20 % de RAM pour les systèmes modernes (c'est-à-dire 4 Go ou plus de RAM).

CentOS a une recommandation différente pour la taille de la partition de swap. Il suggère que la taille de l'échange soit :

  • Deux fois la taille de la RAM si la RAM est inférieure à 2 Go
  • Taille de la RAM + 2 Go si la taille de la RAM est supérieure à 2 Go, c'est-à-dire 5 Go d'échange pour 3 Go de RAM

Ubuntu a une perspective totalement différente sur la taille du swap car il prend en compte l'hibernation. Si vous avez besoin d'hibernation, un échange de la taille de la RAM devient nécessaire pour Ubuntu.

Sinon, il recommande :

  • Si la RAM est inférieure à 1 Go, la taille de swap doit être au moins égale à la taille de la RAM et au plus le double de la taille de la RAM
  • Si la RAM est supérieure à 1 Go, la taille du swap doit être au moins égale à la racine carrée de la taille de la RAM et au plus double de la taille de la RAM
  • Si l'hibernation est utilisée, la taille du swap doit être égale à la taille de la RAM plus la racine carrée de la taille de la RAM

Confus? Je sais que c'est déroutant. C'est pourquoi j'ai créé ce tableau qui vous donnera la taille d'échange recommandée par Ubuntu en fonction de la taille de votre RAM et de vos besoins en hibernation.

Taille de la RAM Taille d'échange (sans hibernation) Taille d'échange (avec hibernation)
256 Mo 256 Mo 512 Mo
512 Mo 512 Mo 1 Go
1 Go 1 Go 2 Go
2 Go 1 Go 3 Go
3 Go 2 Go 5 Go
4 Go 2 Go 6 Go
6 Go 2 Go 8 Go
8 Go 3 Go 11 Go
12 Go 3 Go 15 Go
16 Go 4 Go 20 Go
24 Go 5 Go 29 Go
32 Go 6 Go 38 Go
64 Go 8 Go 72 Go
128 Go 11 Go 139 Go

Quelle taille d'échange utilisez-vous ?

La réponse n'est jamais simple. Comme je l'ai dit plus tôt, pendant longtemps, il a été recommandé que le swap soit le double de la taille de la RAM. En fait, mon édition Dell XPS 13 Ubuntu a 16 Go de taille d'échange pour 8 Go de RAM. Alors même Dell a décidé d'appliquer la règle d'or de swap=2xRAM.

Quelle taille d'échange préférez-vous pour votre système Linux ?



Linux
  1. Comment utiliser BusyBox sous Linux

  2. Comment j'utilise cron sous Linux

  3. Combien de RAM le noyau utilise-t-il ?

  4. 8G RAM et SSD - quelle devrait être la taille de l'échange ?

  5. Quelle doit être la taille de la partition swap ?

Comment utiliser la commande Disown sous Linux

Comment utiliser la commande Linux SS

Comment utiliser Linux Time Command :tout ce que vous devez savoir

7 raisons pour lesquelles j'utilise Manjaro Linux et vous devriez aussi

Comment créer et utiliser un fichier d'échange sous Linux

Comment effacer le cache et la mémoire tampon de la mémoire RAM et l'espace d'échange sous Linux