Importance de la partition de swap

34
  • Quel est le but d'une partition de swap?
  • Comment savoir si j'ai juste assez de partition d'échange? Pas trop / peu.

Mon PC Ubuntu est utilisé pour des choses typiques:

  • Web (email, facebook, etc.)
  • Quelques films
  • le jeu est rare
lamcro
la source
D'après ce qui a été posté, il semble que j'ai trop d'échange. 3 Go de RAM, 300 Go HD et une partition de 8 Go pour l’échange.
lamcro
2
Un échange supplémentaire qui ne s'habitue pas ne vous fera pas mal, et récupérer 1,7% de votre disque dur pour le rendre plus petit ne vaut probablement pas la peine. Oui, c'est beaucoup plus grand que vous ne l'utiliserez probablement jamais, je ne m'inquiéterais pas pour ça.
msw
1
Vous pouvez également le voir comme une partition de swap "à l'épreuve du temps". Si vous ajoutez de la mémoire supplémentaire à votre système, vous n'aurez pas à agrandir le swap ... :)
janvier

Réponses:

15

La partition de swap a plusieurs objectifs.

  • Il sert de RAM de "sauvegarde". En d’autres termes, si votre ordinateur manque de RAM, il utilisera la zone d’échange comme source temporaire de mémoire supplémentaire. Plus précisément, il «permutera» les éléments inutilisés de la RAM vers la zone de permutation afin de laisser un espace disponible aux applications qui en ont besoin à cet instant. Ce n'est pas idéal car le taux de transfert de données vers le disque dur est nettement inférieur à celui de votre RAM normale. En pratique, cela signifie qu'il est beaucoup plus lent à extraire des informations de la zone d'échange.

  • Il est utilisé lors de l'hibernation de l'ordinateur. L'hibernation implique de prendre une image de la RAM dans son état actuel (comme une image ISO représente une image) et de l'enregistrer dans la zone d'échange. Il recharge ensuite cette image au redémarrage de l'ordinateur.

  • Pour être plus utile, la zone de swap doit être au moins (RAM * 1,5), bien qu’il soit recommandé d’en utiliser plus. Par exemple, sur mon système avec 3 Go de RAM, j'ai une zone d'échange de 7,2 Go.

Richzilla
la source
Si vous n'utilisez pas quelque chose, il est idéal de l'échanger sur le disque et d'utiliser la RAM pour des choses que vous utilisez (par exemple, le déplacement de CUPS ou d'autres démons que vous n'utilisez pas très souvent pour échanger vous donne plus de mémoire pour la mise en cache du disque. données qui sont réellement utilisées beaucoup).
janvier
-1; "(RAM * 1.5) bien que plus soit recommandé" - sur le PC de bureau? Vous répétez une sagesse conventionnelle fausse depuis des années.
@ user280493 Il est intéressant de noter que la réponse était vieille, il y a des années… quand vous avez commenté.
Crisfole
7

C'est très proche de la même chose que cette question sur la “bonne” taille pour une partition de swap. La plupart des informations contenues dans ma réponse sont valables. En gros, si vous souhaitez passer en hibernation, vous souhaitez généralement que votre espace d'échange soit au moins égal à votre RAM. Un nombre arrondi, tel que 1 ou 2 Go, suffit aisément. Parce que le swap est beaucoup plus lent que la RAM, si vous remplissez plusieurs gigaoctets de swap, votre ordinateur est certainement devenu incroyablement lent.

Il n’ya pas non plus de réel besoin d’une partition swap: les fichiers swap (disponibles sur les systèmes de fichiers linux traditionnels) offrent les mêmes performances et facilitent l’ajout de plus d’espace swap si vous décidez de ne pas en avoir assez.

RAOF
la source
4

voici une information très profonde sur l'échange

Certaines personnes disent le double de votre bélier, mais personnellement, je recommande ceci:

swap = 1,5 X Total Ram

Exemple :

si vous avez 2 Go de RAM -> swap = 1,5 x 2 = 3

PD: Ubuntu Desktop utilise Swap to Hibernate (ordinateur éteint, aucune alimentation requise, état des programmes sauvegardé). Si le mode Veille prolongée est important pour vous, disposez de davantage d'espace d'échange que de dépassement de mémoire vive et d'échange.

hhlp
la source
2

La freecommande peut vous dire combien de swap vous utilisez. Par exemple sur cette machine:

$ free -m
             total       used       free     buffers     cached
Mem:          1947       1863         84         312        758
-/+ buffers/cache:        792       1154
Swap:         4000          3       3997

me montre que j'ai 2 Go (1947 m) de RAM et que le système en a utilisé la majeure partie. Toutefois, 312 m est utilisé pour les mémoires tampon d’E / S et le reste (758 m) que le système a décidé de remplir avec le cache disque.

Le cache disque est intéressant car il utilise une mémoire rapide au lieu d'un disque lent pour son contenu. Le contenu peut être obtenu à partir du disque, mais il est conservé au besoin. Cela signifie également que 758 m de mémoire peuvent être récupérés en un instant si nécessaire, car le système sait qu'il peut trouver ces données sur le disque.

C’est pourquoi une deuxième ligne indique que s’il n’y avait ni mémoire tampon ni cache, la moitié de ma RAM (1154 m) serait utilisable.

La troisième ligne montre que j'ai une partition de swap trop volumineuse (elle était là et ne faisait rien) dont 3 millions ont été utilisés. C’est un truc que le noyau ne s’attend vraiment pas à utiliser bientôt, il a donc été collé sur le "porche arrière".

Alors que freevous donne l'instantané maintenant, vmstatpeut vous donner une image courante:

$ vmstat 10
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0   3588  86236 316524 769132    0    0    14    13  126   81  4  1 95  0
 0  0   3588  83872 316532 770512    0    0     0    20  264 1229  3  1 96  0

Il y a beaucoup d'informations là-bas, mais il est intéressant de noter qu'il n'y a pas de trafic d'échange (si) ou d'échange (donc). Ce qui signifie que je n'utilise pas l'échange du tout au cours des 10 dernières secondes.

msw
la source
0
  • La zone d'échange est la partie de l'espace disque utilisée pour prendre en charge la mémoire RAM à espace limité. La taille de la RAM étant limitée, certaines applications nécessitent plus de RAM que l'espace disponible. Dans ce cas, cet espace de swap est également appelé mémoire virtuelle utilisée pour prendre en charge la RAM.
  • Sa vitesse est inférieure à celle de la RAM. Lorsque nous exécutons une application volumineuse, la partie la moins utilisée récemment de cette application est remplacée par la zone de permutation du disque dur. Elle est permutée de la zone de permutation au besoin. Cela donne au système d’exploitation le sentiment d’avoir juste plus de RAM qu’il ne l’est réellement.
  • C'est une partition dédiée sur le disque dur créée lors de l'installation du système d'exploitation.
  • Il est bon de créer une zone d'échange double de la taille de la RAM.
  • Vous pouvez vérifier la zone d'échange utilisée et disponible à l'aide de la commande suivante:

    $ cat /proc/swaps 
    Filename                Type        Size    Used    Priority
    /dev/sda10              partition   7812092  16      -1
    
Vijesh
la source
0

J'ai un ordinateur portable avec un disque dur lent, mais une RAM relativement importante (8 Go). Sur cette configuration, je trouve qu'un lecteur d'échange est contre-productif pour les raisons suivantes:

  1. La récupération des applications du swap est lente , ce qui est comparable au chargement de l’application à partir de zéro. Je préférerais un environnement qui réponde rapidement, même si cela signifie que je dois parfois fermer et recharger des applications, plutôt qu'un environnement qui m'arrête parfois de manière inattendue.

  2. Si je voulais pouvoir hiberner, cela voudrait dire écrire beaucoup de données sur disque. Ce serait une constante fuite sur la batterie si elle a été fait persistante (le comportement par défaut de swappiness 60), ou si elle a été faite uniquement au moment de la mise en veille prolongée (en réduisant swappiness), il faudrait beaucoup de temps pour mise en veille prolongée en fait. J'ai trouvé que suspendre pour être de la RAM au lieu de suspendre sur un disque était tout à fait satisfaisant. Il pourrait rester suspendu quelques jours et resterait suspendu beaucoup plus rapidement qu’une hibernation complète.

  3. Parce que le disque dur est lent, je préfère garder 1 Go de RAM réservée au cache disque , échangeant efficacement de la mémoire pour la vitesse. Cela garde ma machine branchée, mais cela signifie que je ne peux utiliser que 7 Go de mes 8 Go de RAM pour les applications. Le logiciel que j'utilise pour y parvenir est une fourchette de earlyoom qui tue les anciens onglets du navigateur lorsque 88% de la RAM est utilisée. Je dois parfois recharger d'anciens onglets de navigateur qui ont été supprimés.

Quand ce conseil ne s'appliquerait-il pas?

  • Si vous avez un lecteur de disque dur rapide ou un disque SSD et que vous vous inquiétez moins de l'épuisement de la batterie, les inconvénients que j'ai décrits ci-dessus ne s'appliqueront pas. (Bien que les premiers disques SSD puissent avoir des problèmes d'usure, je pense que tous les disques SSD vendus depuis 2018 devraient convenir.)

  • Si votre ordinateur dispose de très peu de RAM ou si vous souhaitez utiliser plusieurs applications gourmandes en mémoire en même temps, vous devrez peut-être utiliser swap pour que votre travail soit effectué, quels que soient les inconvénients. C'était le principal cas d'utilisation du swap, avant que la mémoire ne commence à devenir moins chère.

  • Si vous avez vraiment besoin de l'hibernation (vous souhaitez peut-être suspendre votre ordinateur portable et le rouvrir après quelques jours sans charge), vous avez besoin d'un lecteur d'échange (recommandé, au moins aussi grand que votre RAM).

Caveat:

  • Certains des logiciels que nous laissons fonctionner longtemps (notamment le système d'exploitation et l'environnement de bureau) chargeront du code en mémoire qui ne sera plus jamais utilisé. Ces pages pourraient être déplacées pour permuter et n'auront jamais besoin d'être extraites, évitant ainsi les inconvénients que j'ai mentionnés plus tôt. Pour cette raison, je crée parfois un petit fichier d'échange de 512 Mo ou 1 Go et laisse les pages inutilisées de la mémoire être permutées. Cela me laisse juste un peu plus de RAM pour les applications. (Nécessaire: une technique permettant de mesurer le taux de désabonnement de permutation afin d’ajuster la taille de ce fichier.)
Joeytwiddle
la source