Qu'est-ce que l'espace d'échange ?
L'espace d'échange sous Linux est utilisé lorsque la quantité de mémoire physique (RAM) est pleine. Si le système a besoin de plus de ressources mémoire et que la mémoire physique est pleine, les pages inactives en mémoire sont déplacées vers l'espace d'échange. Bien que l'espace d'échange puisse aider les machines avec une petite quantité de RAM, il ne doit pas être considéré comme un remplacement pour plus de RAM. L'espace d'échange est situé sur les disques durs, qui ont un temps d'accès plus lent que la mémoire physique.
L'espace d'échange peut être une partition d'échange dédiée (recommandé), un fichier d'échange ou une combinaison de partitions d'échange et de fichiers d'échange.
Qu'est-ce qu'une partition swap ?
Les partitions swap sont très différentes des systèmes de fichiers. Les systèmes de fichiers stockent (généralement) des arborescences de nœuds de répertoire pour référencer les inodes de fichiers, qui référencent ensuite les blocs dans les fichiers. Tout sur le disque a ou a eu un nom une fois, et vous pouvez reconstruire assez facilement quels blocs se trouvent dans quels fichiers ou répertoires ou ne sont plus utilisés. (fsck le fait à chaque redémarrage incorrect.)
Les partitions d'échange contiennent des pages de mémoire "aléatoires" provenant de processus qui n'ont pas été utilisés assez souvent pour les empêcher d'être échangés. Ces morceaux n'incluront pas les bibliothèques ou les exécutables. Swap ne contiendra que des pages créées à la volée par les applications pour les données. Il n'y a pas d'informations de commande sur le swap réellement détenu dans la partition de swap, toutes ces informations n'ont de sens que lorsque la machine est en cours d'exécution, et la machine en aura probablement besoin rapidement, de sorte que les tables de mappage de page sont stockées dans un noyau non échangeable. mémoire.
Qu'est-ce qu'un fichier d'échange ?
Dans certaines situations, il est difficile d'ajouter une nouvelle partition de swap. Linux ne permet pas de modifier les définitions de partition et si nous ne pouvons pas ajouter de nouvelles partitions sans supprimer les partitions existantes. Dans ce cas, les fichiers d'échange peuvent être utiles.
Comment ajouter un fichier d'échange ?
Déterminez la taille du nouveau fichier d'échange et multipliez-la par 1024 pour déterminer la taille du bloc. Par exemple, la taille de bloc d'un fichier d'échange de 64 Mo est de 65 536. À l'invite du shell, en tant qu'utilisateur root, saisissez la commande suivante, le nombre étant égal à la taille de bloc souhaitée :
# mkdir /data2 # dd if=/dev/zero of=/data2/swapfile1 bs=1024 count=65536
Configurez le fichier d'échange avec la commande :
# mkswap /data2/swapfile1
Pour activer le fichier d'échange immédiatement mais pas automatiquement au démarrage :
# swapon /data2/swapfile1
Pour l'activer au démarrage, modifiez /etc/fstab pour inclure :
/data2/swapfile1 swap swap defaults 0 0
La prochaine fois que le système démarrera, il activera le nouveau fichier d'échange.
Comment ajouter une partition d'échange et un volume d'échange ?
Reportez-vous au message ci-dessous pour obtenir la procédure détaillée.
Comment ajouter de l'espace d'échange sous LinuxComment puis-je savoir combien d'espace d'échange est configuré sur mon Linux ?
Utilisez le swapon -s commande pour obtenir les détails de l'échange. Cela vous indiquera combien a été alloué pour l'échange et combien est utilisé. Par exemple :
# swapon -s Filename Type Size Used Priority /dev/dm-0 partition 2097148 0 -1
Quelle est la différence entre l'échange et la pagination ?
L'échange est l'un des mécanismes Unix permettant de s'adapter à la limitation de la taille de la mémoire en déplaçant des processus entiers sur le disque pour récupérer de la mémoire.
La pagination est un autre mécanisme Unix pour gérer les limitations de la mémoire. Contrairement à l'échange, où des processus entiers sont déplacés dans et hors de la mémoire, la pagination ne déplace que des pages individuelles de processus sur le disque. La pagination n'est pas un problème aussi grave que l'échange, car le programme entier n'a pas besoin de résider en mémoire pour s'exécuter. Une petite quantité de pagination peut ne pas affecter sensiblement les performances d'un système. Cependant, les performances d'un système peuvent se dégrader rapidement à mesure que l'activité de pagination augmente.
L'espace d'échange sur le disque est utilisé pour contenir des pages de mémoire qui ont été paginées ou échangées. Un manque d'espace d'échange peut entraîner des symptômes tels que le blocage du système, des temps de réponse médiocres et l'échec de la création de nouveaux processus.
Comment puis-je activer l'échange ?
Vérifiez d'abord si l'échange est activé :
# swapon -s
Pour activer l'échange, vérifiez les entrées d'échange dans votre /etc/fstab
# grep swap /etc/fstab /dev/mapper/centos-swap swap swap defaults 0 0
et utilisez la commande "/sbin/swapon -a" pour activer toutes les partitions Swap répertoriées dans /etc/fstab.
# swapon -a
Comment supprimer la partition d'échange ?
Si la partition d'échange n'est pas actuellement utilisée, vous pouvez démonter l'échange avec la commande swapoff. À l'invite du shell en tant qu'utilisateur root, exécutez la commande suivante pour vous assurer que la partition d'échange est désactivée (où /dev/hdb2 est la partition d'échange) :
# swapoff /dev/hdb2
Supprimez son entrée de /etc/fstab. Supprimez la partition à l'aide de parted ou de fdisk.
Comment supprimer le fichier d'échange ?
En tant qu'utilisateur root, exécutez la commande suivante pour désactiver le fichier d'échange (où /swapfile1 est le fichier d'échange) :
# swapoff /data2/swapfile1
Supprimez son entrée de /etc/fstab et supprimez le fichier réel :
# rm /data2/swapfile1
Comment supprimer la partition d'échange ?
Si la partition d'échange n'est pas actuellement utilisée, vous pouvez démonter l'échange avec la commande swapoff. À l'invite du shell en tant qu'utilisateur root, exécutez la commande suivante pour vous assurer que la partition d'échange est désactivée (où /dev/hdb2 est la partition d'échange) :
# swapoff /dev/hdb2
Supprimez son entrée de /etc/fstab. Supprimez la partition à l'aide de parted ou de fdisk.
Comment supprimer le fichier d'échange ?
En tant qu'utilisateur root, exécutez la commande suivante pour désactiver le fichier d'échange (où /swapfile1 est le fichier d'échange) :
# swapoff /data2/swapfile1
Supprimez son entrée de /etc/fstab et supprimez le fichier réel :
# rm /data2/swapfile1
Comment vérifier l'utilisation de l'échange
Pour vérifier l'utilisation du swap, vous pouvez utiliser l'un des utilitaires ci-dessous :
1. gratuit
# free total used free shared buffers cached Mem: 1004608 934036 70572 0 30124 769640 -/+ buffers/cache: 134272 870336 Swap: 1060248 0 1060248
2. /proc/meminfo
# grep Swap /proc/meminfo SwapCached: 0 kB SwapTotal: 1060248 kB SwapFree: 1060248 kB
3. haut
# top ....... Mem: 1004608k total, 934780k used, 69828k free, 30124k buffers Swap: 1060248k total, 0k used, 1060248k free, 770156k cached .......
4. vmstat
# vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 69828 30124 770156 0 0 40 403 23 22 0 1 99 0 0Questions d'entretien Linux - Autorisations spéciales (SUID, SGID et sticky bit)