Ajoutez de l’espace d’échange à un ordinateur Linux ou augmentez l’espace d’échange déjà présent, sans vous soucier des partitions. Nous vous montrons la manière la plus simple d’adapter votre espace d’échange.
Échange de fichiers et permutation de partitions
Il existe plusieurs scénarios dans lesquels vous souhaiterez peut-être augmenter l’espace d’échange existant ou ajouter un nouvel espace d’échange à votre ordinateur Linux.
- Peut-être que votre espace de swap fonctionne fréquemment au maximum ou presque au maximum.
- Il est facile de cliquer sur la mauvaise option pendant le processus d’installation et de refuser l’ajout de swap à votre système par inadvertance.
- Peut-être avez-vous déjà décidé que vous aviez tellement mémoire vive (RAM) vous n’avez pas besoin de swap et vous avez changé d’avis.
- Parfois, vous héritez de l’administration d’un système qui n’a pas de swap, pour des raisons que vous ne pourrez jamais découvrir.
La solution simple à tout cela est d’ajouter un swap file sur votre ordinateur. Il s’agit d’un fichier spécial, pré-alloué et réservé pour une utilisation comme espace d’échange. Un fichier d’échange fonctionnera en tandem avec n’importe quel échange existant que vous pourriez avoir, qu’il s’agisse d’un fichier d’échange ou d’une partition d’échange.
À un moment donné, l’utilisation d’un fichier d’échange par rapport à une partition d’échange a eu un impact négatif sur les performances. Ce n’est plus le cas avec les améliorations des performances des disques durs mécaniques (rotatifs) et plus d’efficacité dans les fonctions d’échange au sein du système d’exploitation Linux. En fait, certaines distributions Linux créent désormais par défaut des fichiers d’échange plutôt que des partitions d’échange.
Swap n’est pas seulement utilisé comme un moyen de libérer de la RAM lorsque vous manquez de mémoire. C’est une partie importante d’un système qui fonctionne bien. Sans aucun échange, une gestion saine de la mémoire devient très difficile pour le noyau. Regardons la manière simple d’ajouter de l’espace d’échange.
Avant de plonger: Btrfs et SSD
Il y a deux points dont nous aimerions discuter rapidement.
La Système de fichiers BTRFS a certaines mises en garde concernant les fichiers d’échange. À un moment donné, il y avait un conflit entre le copie sur écriture nature de Btrfs, qui voulait fonctionner d’une manière et échanger des fichiers qui devaient fonctionner d’une autre. Certaines fonctions dont dépendent les fichiers d’échange n’étaient pas implémentées et certaines hypothèses concernant la numérotation des blocs dans les fichiers d’échange n’étaient pas valables avec Btrfs. Les fichiers d’échange n’étaient donc pas pris en charge.
Depuis le noyau 5.0, vous peut avoir des fichiers d’échange dans les systèmes de fichiers Btrfs s’ils sont configurés avec les exigences suivantes:
- Aucun fichier de copie sur écriture (NOCOW).
- Ils ne sont pas compressés.
- Ils ne chevauchent pas différents disques durs.
La plupart des lecteurs utiliseront le système de fichiers ext4 par défaut, ce ne sera donc pas un problème pour eux.
Bientôt: Quel système de fichiers Linux devez-vous utiliser?
Lorsque les disques SSD (Solid State Drives) ont été disponibles pour la première fois, leur utilisation dans des situations où les écritures du système de fichiers étaient fréquentes était préoccupante. Les gens ont été avertis de ne pas mettre d’espace de swap sur les disques SSD, et même d’éviter la journalisation du système sur les disques SSD.
C’est beaucoup moins préoccupant de nos jours, et de nombreux disques SSD en vente ont une espérance de vie supérieure à la plupart des PC. Un fichier d’échange sur un SSD aura de bien meilleures performances qu’une partition d’échange sur un disque dur mécanique.
Bientôt: Combien de temps durent vraiment les disques SSD?
Vérification de l’espace de swap existant
Réfléchir avant d’agir. Vérifions quel espace de swap est disponible sur votre ordinateur. Vous pouvez le faire de deux manières, et nous utiliserons les deux. La free La commande affichera la mémoire utilisée et libre. La -h (lisible par l’homme) entraînera free pour utiliser des unités sensibles lorsqu’il affiche les valeurs de la mémoire.
free -h
La sortie de free indique qu’aucun espace de swap n’est configuré sur cette machine.
Le swap n’est jamais discuté sans RAM et RAM libre. Il convient donc de noter que la RAM libre est de 237 Mo. Ne confondez pas cela avec le total de RAM disponible. Cette valeur est fournie par le chiffre «disponible», qui est de 881 Mo.
Linux utilise de la RAM libre à ses propres fins, telles que la mise en cache de fichiers et les tampons du noyau. La quantité de RAM dédiée à cela est le chiffre «buff / cache», qui est de 871 Mo. Mais cette mémoire est toujours considérée – et comptée comme – «disponible». Le contenu de la RAM «buf / cache» peut être immédiatement éliminé et utilisé par toute application nécessitant de la mémoire.
Une autre façon de vérifier si l’espace d’échange est disponible est d’utiliser le swapon commander. La --show l’option ne fait aucun les modifications apportées au swap sur votre ordinateur. Il ne fournit que des statistiques.
swapon --show
S’il n’y a pas de sortie de cette commande, aucun échange n’est configuré.
Si ces commandes avaient révélé qu’un espace d’échange est déjà configuré, la taille de l’espace d’échange existant doit être prise en compte dans les décisions concernant la taille du fichier d’échange que vous allez créer.
De combien d’espace de swap ai-je besoin?
La réponse traditionnelle était «deux fois la quantité de RAM dont vous disposez». Mais cela a été inventé lorsque les ordinateurs avaient une RAM très limitée. La RAM étant devenue moins chère et les programmes et les jeux plus exigeants en mémoire, les spécifications du PC se sont adaptées en conséquence. Les ordinateurs personnels avec 32 Go de RAM ne sont pas rares de nos jours. Et vous n’allez pas allouer 64 Go d’espace disque dur pour échanger de l’espace si vous avez 32 Go de RAM. C’est manifestement excessif.
Le montant de swap dont vous avez besoin est un sujet incendiaire, comparable à «quel est le meilleur éditeur». L’une des discussions les plus sensées que nous ayons vues sur ce sujet se trouve dans le FAQ sur l’échange Ubuntu. C’est une approche courte et de bon sens (bien que, comme beaucoup de gens, ils comprennent mal le fonctionnement de la permutation sous Linux). Il existe un tableau pratique qui indique la quantité d’espace de swap recommandée pour la quantité de RAM dont dispose votre système et si vous mettez votre ordinateur en veille prolongée ou non.
Et la bonne nouvelle est que peu importe la valeur que vous choisissez. Nous pouvons toujours supprimer un fichier d’échange et le remplacer par un plus gros ou, d’ailleurs, un plus petit. Ou vous pouvez simplement ajouter un autre fichier d’échange.
Choisir une taille de fichier d’échange de la table, et exécutez-le pendant un moment. Surveillez l’utilisation de l’espace d’échange par votre système. Si un réglage fin est nécessaire, des modifications sont facilement apportées. Avec les fichiers d’échange, c’est un travail de deux minutes. Comparez cela à l’ajustement des partitions sur un ordinateur Linux en direct.
Bientôt: Qu’est-ce que Swappiness sous Linux? (et comment le changer)
Création du fichier d’échange
Vous ne devriez pas utiliser le fallocate commander pour créer votre swapfile. Ceci provient de la page de manuel de swapon:
The swap file implementation in the kernel expects to be able to write to the file directly, without the assistance of the file system. This is a problem on files with holes or on copy-on-write files on file systems like Btrfs. Commands like cp(1) or truncate(1) create files with holes. These files will be rejected by swapon. Preallocated files created by fallocate(1) may be interpreted as files with holes too depending of the filesystem. Preallocated swap files are supported on XFS since Linux 4.18. The most portable solution to create a swap file is to use dd(1) and /dev/zero.
Donc, bien que fallocate est plus rapide, nous utiliserons dd à créer le fichier d’échange. La machine utilisée pour rechercher cet article dispose de deux Go de RAM. Nous allons créer un fichier d’échange d’un Go.
Les options sont:
- si: Le fichier d’entrée. Dans cet exemple, nous utilisons
/dev/zeroqui fournira un flux de zéro octet. - de: Le fichier de sortie. Nous allons créer un fichier dans le répertoire racine, appelé
swapfile. - bs: La taille du bloc en octets. Cela spécifie le nombre d’octets à lire à partir du fichier d’entrée et à écrire dans le fichier de sortie, à la fois.
- compter: Combien de blocs lire et écrire. Multipliez ce nombre par le
bsvalue pour obtenir la taille du fichier.
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
Certaines statistiques sont fournies lors de la création du fichier.
Nous pouvons voir le nombre de blocs (enregistrements) qui ont été écrits dans le fichier, la taille du fichier, le temps nécessaire pour créer le fichier et le taux de transfert de données effectif.
Utilisez le ls commande pour voir le fichier dans le répertoire racine:
ls /
Préparation du fichier d’échange
Nous devons le faire préparer le fichier d’échange avec le mkswap commande avant de pouvoir l’utiliser. Nous n’avons pas besoin de fournir de paramètres pour mkswap autre que le chemin et le nom du fichier:
sudo mkswap /swapfile
Le fichier est préparé pour être utilisé comme fichier d’échange. Notez l’avertissement concernant les autorisations de fichier. Nous devrons les changer pour que l’utilisateur root soit le seul à pouvoir lire et écrire dans le fichier d’échange.
Utilisation du fichier d’échange
Les permissions par défaut sont trop libérales, nous devons les restreindre pour que seul root puisse utiliser le fichier d’échange. Utilisation chmod pour modifier les autorisations de fichier:
sudo chmod 600 /swapfile
Cela supprime toutes les autorisations des membres du groupe de fichiers et autres, mais permet au propriétaire du fichier, root, de lire et d’écrire dans le fichier.
Bientôt: Comment utiliser la commande chmod sous Linux
Nous devons utiliser le swapon commande pour informer Linux qu’un nouveau fichier d’échange est disponible à utiliser. Il suffit de fournir le chemin et le nom du fichier:
sudo swapon /swapfile
Le fichier d’échange est maintenant actif.
Ajout du fichier d’échange à fstab
Pour vous assurer que votre fichier d’échange est disponible après un redémarrage, ajoutez-le au /etc/fstab fichier. Vous pouvez utiliser n’importe quel éditeur de texte que vous préférez, mais nous montrerons le processus à l’aide de l’éditeur de texte graphique Gedit.
sudo gedit /etc/fstab
La ligne que nous devons ajouter au bas du fichier est:
/swapfile none swap sw 0 0
Les champs sont:
- Système de fichiers: Le chemin et le nom du fichier d’échange.
- Point de montage: Le fichier n’est pas monté comme un système de fichiers, donc l’entrée est «aucun».
- Type: C’est « swap ».
- Options: Au démarrage
swapon -a(démarrer tous les périphériques marqués comme swap) sera appelé à partir de l’un des scripts de démarrage. Cette option indique à Linux de traiter cette entrée comme une ressource d’échange qui devrait être sous le contrôle de cetteswapon -acommander. Il est courant de voir des «valeurs par défaut» utilisées ici parce qu’il y a une croyance erronée parmi certains utilisateurs de Linux que ce champ est ignoré. Comme nous le verrons, ce n’est pas le cas. Il est donc logique d’utiliser la bonne option. - Déverser: Ceci peut être mis à zéro. Ce n’est pas pertinent dans ce cas.
- Passer: Ceci peut être mis à zéro. Ce n’est pas pertinent dans ce cas.
Enregistrez les modifications et fermez l’éditeur.
Bientôt: Comment écrire un fichier fstab sous Linux
Vérification de l’utilisation du swap
Pour voir si votre espace d’échange est utilisé, utilisez le swapon commande avec la --show option:
swapon --show
Les colonnes sont:
- Nom: Le nom de la partition d’échange ou du fichier d’échange.
- Type: Le type de périphérique d’échange.
- Taille: La taille de la ressource d’échange.
- Utilisé: La quantité d’espace de swap utilisé.
- Prio: La priorité de cet espace d’échange.
La priorité Swap Space
Chaque espace de swap se voit attribuer une priorité. Si vous n’en fournissez pas, un est automatiquement attribué. Les priorités attribuées automatiquement sont toujours négatives. La plage de priorités pouvant être allouées manuellement est comprise entre 0 et 32767. Les ressources d’échange avec des priorités plus élevées sont utilisées en premier.
Si plusieurs espaces de swap ont la même priorité, ils sont utilisés en alternance jusqu’à ce qu’ils soient tous les deux pleins, alors le système recherche l’espace de swap avec la priorité la plus basse suivante. Si vous ne disposez que d’un seul espace de swap, la priorité n’est bien sûr pas pertinente. Mais nous allons changer la priorité du fichier d’échange que nous avons créé pour montrer comment le faire.
Pour définir une priorité, ajoutez le pri= (priorité) à l’option /etc/fstab entrée. Modifiez la ligne que vous avez ajoutée /etc/fstab pour ressembler à ceci:
/swapfile none swap sw,pri=10 0 0
Autrement dit, ajoutez pri=10 dans le champ d’options, séparé du «sw» par une virgule. Ne laissez aucun espace entre le «sw», la virgule et le «pri = 10». Redémarrez votre ordinateur et utilisez le swapon --show commander:
swapon -- show
La priorité de cet espace d’échange a été élevée à 10. Ce qui est la preuve que le champ d’options dans le /etc/fstab l’entrée n’est pas ignorée.
Espace d’échange simplifié
En passant par l’exposition et l’explication, nous pouvons créer un nouveau fichier d’échange aussi facilement et rapidement que ceci:
sudo dd if=/dev/zero /of=/swapfile2 bs=1024 count=104857
sudo mkswap /swapfile2
sudo chmod 600 /swapfile2
sudo swapon /swapfile2
Et vérifions que cela a fonctionné:
swapon --show
Si vous voulez faire cette chute permanente, faites-la dans votre /etc/fstab fichier.
Boom. Travail accompli.
Soutenez notre effort ❤️
Si vous avez apprécié cet article, pensez à laisser un pourboire pour nous aider à continuer à publier du contenu de qualité.



































