GNU/Linux >> Tutoriels Linux >  >> Linux

Comment ajouter de l'espace d'échange sous Linux

Outre la RAM, il existe un soi-disant Swap, qui est une mémoire virtuelle, où le contenu de la RAM (pages) peut être échangé au cas où il n'y aurait plus assez de RAM disponible. Ce swap est situé sur le disque et comme les lectures et les écritures sur le disque sont plus lentes que la lecture à partir de la RAM, l'accès aux pages de mémoire entraînera un retard. En plus de la création du système de fichiers, les administrateurs Linux doivent également porter une attention particulière à l'utilisation et aux besoins d'échange. Le message décrit 3 façons d'ajouter de l'espace d'échange aux systèmes Linux :

1. ajouter une partition de swap
2. ajouter un volume d'échange
3. ajouter un fichier d'échange

1. Ajouter une partition de swap

1. Exécutez le fdisk ou séparé utilitaire pour identifier les disques avec suffisamment d'espace disque inutilisé (non partitionné). Créez une nouvelle partition de type swap (82) . Par exemple :

# fdisk /dev/sdb
.....
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-652, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): +1G

Assurez-vous de modifier le type de partition en 82 (swap Linux / Solaris) et enregistrez la table de partition à la fin.

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 82
Changed system type of partition 1 to 82 (Linux swap / Solaris)

Command (m for help): w
The partition table has been altered!

2. Exécutez la commande mkswap par rapport au périphérique/partition créé précédemment à l'aide de fdisk/parted. Facultativement -L peut être utilisé pour définir LABEL sur la partition d'échange.

# mkswap -L swap1 /dev/sdb1
Setting up swapspace version 1, size = 1060252 KiB
LABEL=swap1, UUID=f0a884c9-59b3-47d2-9f06-5884f6a33806

3. Modifiez le fichier /etc/fstab pour monter le nouveau périphérique d'échange au démarrage.

vi /etc/fstab
/dev/sdb1               swap                    swap    defaults        0 0

4. Exécutez la commande swapon pour activer tous les périphériques d'échange répertoriés dans le fichier /etc/fstab et vérifiez l'échange ajouté à l'aide de "swap -s".

# swapon -a
# swapon -s
Filename				Type		Size	 Used	Priority
/dev/sdb1               partition	1060248	 0	    -1

1. Ajouter du volume d'échange

1. Nous pouvons également ajouter un volume LVM en tant qu'espace d'échange. Pour ce faire, nous devons créer un volume dans l'un des groupes de volumes existants.

# vgs
  VG         #PV #LV #SN Attr   VSize  VFree
  vg_geeklab   1   1   0 wz--n- 19.51g 1.94g
# lvcreate -L 1G -n lv_swap vg_geeklab
  Logical volume "lv_swap" created
# ll /dev/mapper/vg_geeklab-lv_swap
lrwxrwxrwx. 1 root root 7 Oct 22 19:36 /dev/mapper/vg_geeklab-lv_swap -> ../dm-1

2. Exécutez la commande mkswap sur le volume et étiquetez-le éventuellement à l'aide de l'option -L.

 mkswap -L swap /dev/mapper/vg_geeklab-lv_swap
mkswap: /dev/mapper/vg_geeklab-lv_swap: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 1048572 KiB
LABEL=swap, UUID=6d228d34-b67e-4e38-82d4-f068c7bc097e

4. Pour que l'entrée d'échange persiste après les redémarrages, créez une entrée dans le fichier /etc/fstab.

# vi /etc/fstab
/dev/mapper/vg_geeklab-lv_swap	swap                    swap    defaults        0 0

5. Enfin, activez le swap à l'aide de la commande swapon qui lit à son tour le fichier /etc/fstab pour les entrées de swap.

# swapon -a
# swapon -s
Filename				Type		Size	 Used	Priority
/dev/dm-1               partition	1048568	 0	    -1

3. Ajout du fichier d'échange

1. Dans le cas où il n'y a plus d'espace libre sur le disque pour créer une nouvelle partition, nous pouvons également utiliser le fichier comme swap. Pour ce faire, utilisez la commande dd pour créer un fichier de la taille requise.

# dd if=/dev/zero of=/root/swapfile01 bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 6.73334 s, 159 MB/s

2. J'ai créé le fichier d'échange dans le répertoire /root pour le rendre plus sûr car l'utilisateur normal ne peut pas entrer dans ce répertoire. Pour plus de sécurité, appliquez les autorisations appropriées au fichier.

# chmod 600 /root/swapfile01

3. Exécutez la commande mkswap pour convertir le fichier en fichier d'échange.

# mkswap -L swap01 /root/swapfile01
Setting up swapspace version 1, size = 1048572 KiB
LABEL=swap01, UUID=ba5f7163-43f6-4001-84c1-2fca3935301f

4. Modifiez le fichier /etc/fstab pour ajouter le nouveau fichier d'échange.

# vi /etc/fstab
/root/swapfile01        swap                    swap    defaults        0 0

5. Exécutez la commande swapon pour activer tous les périphériques d'échange répertoriés dans le fichier /etc/fstab.

# swapon -a
# swapon -s
Filename				Type		Size	 Used	Priority
/swap/swapfile01                        file		1048568	0	-1

Suppression de l'échange

Si vous souhaitez supprimer le swap ajouté, vous pouvez le faire avec la commande swapoff. Assurez-vous de supprimer l'entrée d'échange correspondante du fichier /etc/fstab après avoir désactivé l'échange.

# swapoff -a    ### this will remove all swap(s) mentioned in .etc.fstab
# swapoff /dev/sdb1    ### to remove individual swap

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


Linux
  1. Comment créer ou augmenter l'espace d'échange sous Linux

  2. Comment ajouter un espace d'échange dans Ubuntu 18.04

  3. Comment ajouter un espace d'échange sur Debian 11

  4. Combien d'espace d'échange à ajouter pour la base de données Oracle sous Linux

  5. Comment augmenter l'espace d'échange sous Linux

Comment étendre l'espace d'échange à l'aide du fichier d'échange sous Linux

Comment ajouter de l'espace d'échange sur Debian 10

Comment ajouter un espace d'échange sur Ubuntu 20.04

Comment ajouter de l'espace d'échange sur Debian 11

Comment ajouter et configurer un espace d'échange sur Ubuntu Linux

Comment vérifier l'espace d'échange sous Linux