Comment changer la taille de l'échange dans Ubuntu

Comment changer la taille de l'échange dans Ubuntu

Dans ce guide, nous démontrerons comment changer la taille de l'échange dans Ubuntu 22.04.

Conditions préalables:

Pour effectuer les étapes de ce guide, vous avez besoin des composants suivants:

  • Un système Ubuntu correctement configuré. Pour les tests, vous pouvez installer Ubuntu sur une machine virtuelle à l'aide de VirtualBox.
  • Accès à un utilisateur non racinaire qui peut exécuter les commandes sudo.

Swap Fichier dans Linux

Le bélier de la machine est divisé en morceaux par le noyau Linux appelé «pages». Chaque fois qu'une page est copiée sur un espace préconfiguré sur les dispositifs de stockage secondaires (disque dur ou SSD dans la plupart des cas), il est appelé «échange». L'espace dédié préconfiguré est appelé «l'espace d'échange».

La quantité totale de mémoire physique (RAM) et d'espace d'échange est appelée la mémoire «virtuelle».

Échange nécessaire?

Il y a quelques raisons pour lesquelles un échange est nécessaire:

  • Lorsqu'il y a une demande de plus de mémoire que ce qui est physiquement disponible, échanger des pages moins importantes libère plus de mémoire pour le processus qui nécessite plus de mémoire.
  • Une grande partie des pages utilisées pendant le démarrage d'un programme peut voir très peu d'utilisation. L'échange de ces pages peut libérer plus de mémoire contre d'autres applications.
  • Si aucun espace d'échange n'est attribué, si l'espace RAM est entièrement occupé, il peut provoquer une écrasement du système, en particulier les systèmes avec un espace RAM faible.

Cependant, l'échange est livré avec son propre ensemble de inconvénients:

  • Par rapport à la RAM, les stockages secondaires (disques durs, SSD et autres) sont extrêmement lents. Pour le mettre en perspective, les vitesses d'accès RAM sont mesurées en nanosecondes tandis que les vitesses d'accès au disque sont mesurées en millisecondes.
  • En raison de la différence de vitesses de lecture / écriture, l'échange est un processus très lent. Lorsque beaucoup d'échanges se produisent, cela ralentit finalement le système.

Types d'espaces d'échange

Vous rencontrerez deux types d'espaces d'échange dans Linux:

  • Une partition d'échange dédiée - aucun autre fichier ne peut y être stocké.
  • Swap Fichiers - Ces fichiers peuvent être n'importe où dans le système de fichiers.

Selon l'espace RAM disponible, la taille de l'espace d'échange peut varier. Voici quelques exemples:

Swap Fichier dans Ubuntu

Ubuntu utilise généralement une partition d'échange dédiée pour l'échange. Souvent, cette partition est créée lors de l'installation. Cependant, nous pouvons créer et modifier les fichiers de swap à volonté.

Énumérer les espaces d'échange

La commande suivante affiche tous les espaces d'échange actuellement configurés:

$ swapon

La liste contient tous les espaces d'échange, à la fois partitions et fichiers d'échange.

Création de fichiers d'échange

Un avantage clé des fichiers d'échange sur la partition d'échange est que la taille du fichier peut facilement être modifiée, modifiant ainsi la quantité d'espace d'échange sans toucher les partitions de disque. Dans cette section, nous créons un nouveau fichier d'échange et l'ajoutons au pool de swap actuel.

Créez d'abord un fichier vide en utilisant la commande suivante:

$ sudo dd if = / dev / zero of = / new_swap bs = 1m count = 2048

Ici:

  • La taille du fichier est calculée comme 1M x 2048 = 2G.
  • Pour créer un fichier avec une taille différente, modifiez la valeur de l'argument de comptage en conséquence.
  • Le / dev / zéro est un dispositif de bloc spécial dans le système Linux qui sortit zéro octets à chaque fois qu'il est lu.
  • Bien que nous puissions utiliser d'autres outils comme Fallocation pour créer le fichier, dans certaines situations, cela peut entraîner des problèmes. Il est discuté plus en profondeur dans ce post Askubuntu.

Ensuite, nous devons définir les autorisations de fichier correctes à l'aide de la commande suivante:

$ sudo chmod 600 / new_swap

Maintenant, nous devons formater le fichier en tant que swap en utilisant la commande suivante:

$ sudo mkswap / new_swap

Enfin, nous pouvons ajouter le fichier au pool de swap.

$ sudo swapon / new_swap

Si l'action réussit, le nouveau fichier d'échange doit apparaître sur la liste des espaces d'échange.

$ swapon

Notez que cette action n'est que temporaire. Lors du redémarrage, le fichier d'échange ne sera plus utilisé. Pour en faire un changement permanent, nous devons mettre à jour le tableau / etc / fstab avec l'entrée suivante:

$ / new_swap swap swap par défaut 0 0

Vérification de l'espace d'échange gratuit

La commande suivante imprime à la fois la mémoire et l'utilisation de l'échange:

$ sudo gratuit -h

Suppression du fichier d'échange

Pour supprimer un fichier d'échange, nous devons d'abord nous assurer qu'il n'est pas utilisé. La commande suivante désactive un fichier d'échange:

$ sudo swapoff -v /

Vérifiez la liste des espaces d'échange actifs pour confirmer le changement.

$ swapon

Si le fichier d'échange est déclaré dans / etc / fstab, Vous devez également supprimer l'entrée. Maintenant, le fichier d'échange est sûr pour être supprimé. Supprimez-le à l'aide de la commande suivante:

$ sudo rm /

Changer la taille de l'échange

Selon le type d'espace d'échange (partition ou fichier), le processus de modification de la taille de l'échange peut varier.

Changer la taille de la partition d'échange

Une partition ne peut être prolongée que s'il y a des espaces non alloués immédiatement après lui. Sinon, la seule autre option de redimensionnement est de réduire la partition. Il s'applique également à la partition d'échange.

Si vous utilisez le bureau Gnome, l'application «Disks» peut offrir un aperçu de la situation.

Alternativement, nous pouvons utiliser Gamin pour le visualiser.

Comme vous pouvez le voir, la partition d'échange est directement à côté de la partition racine de ce système. Cela ne laisse aucune place pour prolonger la partition d'échange.

Cependant, les opérations de rétrécissement et de reformatation peuvent être effectuées. En savoir plus sur la gestion des partitions à l'aide de fdisk ou gardé. La commande redimensi2fs est également nécessaire pour redimensionner le système de fichiers existant conformément à la partition redimensionnée.

Modification de la taille du fichier d'échange

Pour manipuler un fichier d'échange, nous devons d'abord le supprimer de la piscine d'échange. Exécutez la commande suivante:

$ sudo swapoff / new_swap

Maintenant, relâchez la commande DD pour augmenter la taille du fichier:

$ sudo dd if = / dev / zero of = / new_swap bs = 1g count = 2 oflag = append conv = notrunc

Ici, nous avons ajouté 2 Go de plus d'espace au fichier d'échange. Ensuite, nous reformons le fichier comme échange à l'aide de la commande suivante:

$ sudo mkswap / new_swap

Enfin, nous pouvons permettre d'échanger:

$ sudo swapon / new_swap
$ swapon

Notez que dans certaines situations, essayer de désactiver le fichier d'échange peut entraîner une erreur comme «Swapoff a échoué: Impossible d'allouer la mémoire». Dans ce cas, nous faisons ce qui suit:

  • Créez un nouveau fichier d'échange avec un plus grand espace.
  • Fixez l'échange plus grand au système.
  • Supprimer le fichier d'échange plus ancien et plus petit.
  • Supprimer l'ancienne entrée de fichier d'échange de / etc / fstab (le cas échéant).

Conclusion

Nous avons discuté d'un en profondeur démontré sur la gestion des espaces d'échange à Ubuntu. Nous avons discuté des différents types d'espaces d'échange. Nous avons appris à redimensionner les partitions de swap et à travailler avec des fichiers d'échange (création, supprimer et redimensionner).

Intéressé à maîtriser Ubuntu? Consultez la sous-catégorie Ubuntu qui contient de nombreux guides pour peaufiner le système Ubuntu et utiliser divers outils.

Happy Computing!