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 :
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
# grep Swap /proc/meminfo SwapCached: 0 kB SwapTotal: 1060248 kB SwapFree: 1060248 kB
# top ....... Mem: 1004608k total, 934780k used, 69828k free, 30124k buffers Swap: 1060248k total, 0k used, 1060248k free, 770156k cached .......
# 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