Conseils utiles

SWAP - comment créer, activer, nettoyer et désactiver le fichier d'échange sous Linux

Pin
Send
Share
Send
Send


  • Nordweb sur Comment sauvegarder le micrologiciel de votre téléphone?
  • Victor sur Comment supprimer les droits root? - Suppression complète des droits root SuperSU
  • Enregistrement en cours Comment sauvegarder le micrologiciel de votre téléphone?
  • VLADIMIR Zaretskyi sur le firmware Firmware Xiaomi pour Ubuntu
  • Sagit va écrire le firmware du smartphone Xiaomi dans Ubuntu

Qu'est-ce qu'un échange (fichier d'échange)?

Le swap est un mécanisme de mémoire au cours duquel des processus inactifs sont déchargés de la RAM sur un disque dur, le déchargeant ainsi. Ceci est utile si la quantité de mémoire est strictement limitée, en termes simples, si la mémoire est trop petite ou trop insuffisante.

Swap peut être présenté en deux versions:

  1. partition de disque séparée
  2. fichier sur le disque.

Il est à noter que si votre système fonctionne sur un disque SSD, les performances du fichier d'échange ne seront pas très inférieures à la vitesse d'accès de l'OP.

Qu'est-ce que SWAP?

SWAP (swap) est un mécanisme de mémoire virtuelle dans lequel une partie des données de la mémoire vive (RAM) est transférée vers le stockage sur disque dur (HDD), disque dur SSD (lecteur SSD), lecteur flash ou autre stockage secondaire. En règle générale, la permutation s'effectue lorsque la RAM est pleine et nécessite davantage d'espace pour fonctionner.

Choisissez la taille du fichier d'échange

Comme le disait Vladimir Pavlovich -La taille du fichier d'échange doit être égale à la quantité de RAM, ou la dépasser deux fois.“. D'après ce qui précède, nous concluons qu'avec une taille de mémoire de 1024 Mo, la taille du fichier d'échange sera de 1024 Mo / 2048 Mo.

À l'aide de l'utilitaire de console dd, remplissez le fichier nouvellement créé avec des zéros:

Nous initialisons le fichier d'échange avec la commande mkswap:

Félicitations, le fichier d'échange est prêt à être utilisé.

Activez Swap avec la commande swapon:

Vérifiez si cela est vrai:

Quand un échange peut être nécessaire

Souvent, la base de données souffre en premier d’un manque de mémoire disponible. Vous pouvez rencontrer des problèmes tels que:

  1. Incident constant sur le site: erreur de connexion à la base de données - signifie, par exemple, que MySQL s'est écrasé.
  2. Lors de l'examen minutieux des journaux /var/log/mysql.log, une erreur InnoDB est détectée: Erreur fatale: impossible d'allouer de la mémoire pour le pool de mémoire tampon. Cela indique que la base de données ne dispose pas de suffisamment de RAM pour créer un tampon.

Avec ces symptômes et ces erreurs, la permutation peut aider.

Avantages de SWAP

Comparaison du coût de la RAM et du SSD
(les prix sont valables à compter du 7 juillet 2017)IhorLes premiers
RAM, en moyenne pour 1 gigaoctet100 roubles par mois170 roubles par mois
SSD, en moyenne par 1 gigaoctet10 roubles par mois13 roubles par mois

Comme on peut le voir à la table, les économies seront réalisées environ 10 fois.

Définir des priorités pour l'utilisation de la mémoire dans le système

Étant donné que le système dispose actuellement de deux options de mémoire - RAM et Swap, il sera utile de déterminer comment le système les utilisera. À l'aide de l'utilitaire sysctl avec le paramètre de démarrage vm.swappiness, nous spécifions à quelle étape du chargement de la mémoire RAM (RAM) l'échange sera utilisé. La valeur sysctl peut varier de 0 à 100. Si vous spécifiez une valeur maximale de 100, le système utilisera uniquement le PO et inversement, si vous spécifiez 0, il utilisera uniquement la permutation.

Je pense que cela vaut la peine de choisir vm.swappiness = 30. Dans ce cas, lors du chargement de RAM à 70%, les processus inactifs seront déchargés dans Swap.

Pour désactiver le fichier d'échange, utilisez la commande suivante:

Sur ce point, la question de savoir comment créer un fichier d'échange d'échange sous Linux peut être considérée comme close.

Vérifier la permutation dans le système

Pour commencer, vous devez vous assurer que le swap n'est pas encore connecté:

Si la commande a renvoyé un résultat vide ou quelque chose comme:

- cela signifie que le swap est probablement absent.

De plus, vérifiez la commande:


Si la table a 0 dans la ligne de swap, il n'y a pas de swap.

Quelle taille pour créer un échange

Suivez le principe - autant que vous avez besoin, allouez-le autant. En règle générale, vous pouvez commencer par la taille de la RAM, ou sa quantité doublée. Par exemple, si vous avez 2 Go de RAM dans le système, vous pouvez effectuer une permutation de 2 à 4 Go de taille. En règle générale, cela devrait suffire. Mais, vous pouvez ajuster sa taille pour vous-même.

Création d'un fichier SWAP

Supposons que nous voulions créer un fichier d'échange de 4 gigaoctets.
En outre, il existe 2 approches, traditionnelle lente et nouvelle rapide:

Façon rapide Nous utilisons fallocate:

Le résultat sera une chaîne vide, ceci est normal.
Contrairement à dd, le résultat sera obtenu presque immédiatement, et je le recommande. La manière traditionnelle, lente ou utilisez la commande:

La syntaxe de la commande est simple:

  • jj - l'équipe est conçue pour copier quelque chose octet par octet quelque part,
  • si = / dev / zéro - indique la source, c'est-à-dire à partir de l'endroit où nous copions, en l'occurrence de / dev / zero - il s'agit d'un fichier spécial sur les systèmes de type UNIX, qui est une source de zéro octet,
  • de = / fichier d'échange - indique le chemin de destination où nous copions les données,
  • bs = 1G - le nombre d'octets à écrire à la fois. Dans notre cas, 1 gigaoctet. Désignations: G-gigaoctets, M-mégaoctets, K-kilo-octets, etc.
  • compte = 4 - combien de blocs de taille bs seront créés, dans notre cas 4.

Soyez très prudent avec la syntaxe de la commande, car si, par exemple, vous vous trompez en définissant le chemin d'accès à de = (où enregistrer le fichier), vous risquez d'endommager les données sur le disque.

Maintenant que le fichier est créé, vérifiez le résultat:

En conséquence, nous verrons:
-rw-r - r-- 1 racine racine 4.0G juil 07 16:16 / fichier d'échange
Comme vous pouvez le constater, le fichier a été créé correctement et avec la bonne taille.

Comment connecter un fichier SWAP

Pour commencer, nous limiterons les droits d'accès au fichier nouvellement créé.

Autoriser d'autres utilisateurs à lire ou à écrire dans ce fichier constituera un risque énorme pour la sécurité. Il est donc strictement nécessaire de limiter la commande ci-dessous:

En conséquence, nous devrions voir quelque chose comme ceci:
-rw ------- 1 racine racine 4.0G 07 juillet 16:16 / fichier d'échange
Les droits sont énoncés correctement.

Maintenant, vous devez créer un fichier d'échange à partir de swapfile:

En conséquence, nous verrons quelque chose comme ce qui suit:
Configuration de la version 1 de l’espace d'échange, taille = 4193300 Ko
pas d'étiquette, UU>

Maintenant, le fichier est prêt comme un échange. Connectez-le au système:

Si une erreur similaire se produit à ce stade, cela signifie que le swap n'est probablement pas autorisé à être connecté au système. Cette limitation est souvent placée sur VDS avec la virtualisation OpenVZ. Je recommande d'utiliser IHOR, des serveurs à partir de 100 roubles par mois et la virtualisation KVM vous permettent d'activer Échange.

Ça y est, le swap est maintenant opérationnel. Il reste à vérifier le bon fonctionnement de la toute première commande:

Le swap sera également visible dans les commandes standard:

Tout, maintenant à coup sûr, l'échange dans le système est prêt et sera utilisé si nécessaire.

Pin
Send
Share
Send
Send