GNU/Linux >> Tutoriels Linux >  >> Linux

Les questions ultimes de l'entretien Linux :swap

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 Linux

Comment 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  0
Questions d'entretien Linux - Autorisations spéciales (SUID, SGID et sticky bit)


Linux
  1. Le noyau Linux :Top 5 des innovations

  2. 40 questions d'entrevue Linux pour Freshers Part-2

  3. Top 25 des questions et réponses d'entrevue Linux

  4. Questions d'entretien :Gestionnaire de packages Linux (RPM)

  5. Linux :où placer le fichier d'échange

Gestion du swap dans le système Linux moderne

Comment effacer la mémoire d'échange sous Linux

Comment désactiver définitivement Swap sous Linux

Comment fonctionne la mémoire d'échange sous Linux ?

Questions d'entretien sur le système de fichiers réseau Linux (NFS)

Les 50 questions et réponses d'entrevue Linux les plus posées