Le swap que l’on peut traduire comme espace d’échange (également appelé mémoire d’échange ou espace de pagination) est un mécanisme important dans les systèmes d’exploitation.
Linux possède aussi un espace de swap.
Dans ce tutoriel, je vous propose de vous expliquer ce qu’est le swap, à quoi il sert et je vous donne des recommandations sur les tailles de partition d’échange.
Qu’est-ce que le swap ou espace d’échange
Le swap est espace disque d’échange utilisé par le système Linux pour stocker les données internes et des applications en cours d’exécution.
Elle se présente sous la forme d’un espace de disque dédié qui peut prendre la forme d’un fichier ou d’une partition de disque dite partition d’échange.
En général, cet espace est un substitut à la mémoire physique (RAM).
Cela permet au un système d’exploitation de déplacer temporairement des pages de mémoire inactives ou moins fréquemment utilisées de la mémoire vive vers une zone désignée du disque dur ou SSD.
Sous Linux, il existe deux types de fichiers d’échange :
- Le fichier d’échange temporaire. Il utilise généralement de l’espace disque fragmenté et ne réserve pas une partie du disque dur, ce qui le rend adapté à un espace disque limité
- Fichier d’échange permanent. Il occupe une section contiguë du disque dur, ce qui signifie qu’il nécessite plus d’espace disque qu’un fichier d’échange temporaire. L’avantage d’utiliser un fichier de permutation permanent est qu’il nécessite moins d’opérations d’E/S, ce qui le rend moins gourmand en ressources qu’un fichier de permutation temporaire
Les systèmes d’exploitation tels que Windows ou Linux fournissent par défaut une certaine quantité d’espace d’échange, que les utilisateurs peuvent modifier ultérieurement en fonction de leurs besoins. Les utilisateurs peuvent également désactiver l’espace de pagination, mais cela signifie que le noyau doit tuer certains processus afin de créer suffisamment de mémoire vive libre pour les nouveaux processus.
A quoi sert le swap dans Linux
On peut distinguer principalement trois utilités au Swap Linux.
Tout d’abord, le swap est une part important dans le mécanisme de mémoire virtuelle.
Cette dernière étant une combinaison de RAM et d’espace de swap.
Les adresses de pages qui font la correspondance entre la mémoire virtuelle et la mémoire physique peuvent être stockés dans l’espace d’échange.
Ce type de mémoire englobe diverses stratégies de gestion de la mémoire et permet aux processus d’utiliser plus de mémoire que celle physiquement disponible.
La mémoire virtuelle permet au système d’exploitation de partager efficacement la mémoire physique entre plusieurs processus, y compris la pagination, l’échange et le mappage de la mémoire.
Plus de détails : La mémoire dans Linux : comment ça marche
Dans la continuité de ce dernier, l’espace de pagination peut être utilisée pour stocker des données en mémoire, lorsque celle-ci est saturée.
Le système d’exploitation déplace certaines données de la RAM vers l’espace de pagination afin de libérer de l’espace pour de nouvelles données. Ce processus est connu sous le nom de “paging out” ou “swapping out” et permet d’éviter que le système ne manque de mémoire.
Le paramètre swappiness contrôle la tendance du noyau à déplacer les processus de la mémoire physique vers le disque d’échange. Les disques étant beaucoup plus lents que la RAM, les temps de réponse du système et des applications peuvent être plus lents si les processus sont déplacés de manière trop agressive hors de la mémoire.
Vous pouvez le modifier à l’aide de la commande sysctl, par exemple :
sudo sysctl -w vm.swappiness=10
Enfin, le swap est sollicité lors de l’hibernation.
Les données des applications ouvertures et du système sont déplacées dans le fichier d’échange.
Il existe aussi des utilisations plus spécifiques, par exemple, les fichiers d’échange sont particulièrement avantageux pour les environnements virtualisés. Les machines virtuelles ont souvent des besoins en mémoire dynamiques, et les fichiers d’échange permettent aux utilisateurs d’ajuster facilement l’espace d’échange sans modifier la configuration du disque sous-jacent.
En résumé, l’espace d’échange est une part important dans l’optimisation de la mémoire de Linux pour économiser l’utilisation de la mémoire de Linux.
Il peut permettre d’exécuter des applications gourmandes lorsque le PC n’a pas assez de mémoire RAM.
Enfin il aide à rendre le système plus stable.
Quelle taille recommandée pour la partition swap de Linux
La question est très souvent posée, surtout lorsque l’on débute sur Linux car l’utilisateur a pu de connaissances sur le comportement du système et son fonctionnement.
Il est possible de dégager des recommandations de taille de swap, mais ce qu’il faut bien comprendre, c’est que la taille diffère selon l’utilisation du système.
Un utilisateur qui surf et lit ses mails n’aura pas besoin d’un fichier d’échange important, par rapport à une personne qui joue ou exécute des applications gourmandes.
De plus, il faut aussi comprendre en compte l’utilisation de l’hibernation.
En général, lorsque vous utilisez l’hibernation, on recommande à ce que la taille de l’espace de pagination doit être au moins égale à celle de la mémoire vive.
Voici les tailles recommandées pour la partition d’échange Linux :
Quantité de RAM installée dans le système | Taille du swap (sans Hibernation) | Talle du swap (avec Hibernation) |
---|---|---|
≤ 2 Go | 2X RAM | 3X RAM |
2 Go – 8 Go | = RAM | 2X RAM |
8 Go – 64 Go | 4 Go à 0.5X RAM | 1.5X RAM |
>64 Go | Minimum 4 Go | Pas forcément recommandé |
Avec plus de détails et exemples, on obtient :
Quantité de RAM installée dans le système | Taille du swap (sans Hibernation) | Talle du swap (avec Hibernation) |
---|---|---|
256 Mo | 256 Mo | 512 Mo |
512 Mo | 512 Mo | 1 Go |
1 Go | 1 Go | 2 Go |
2 Go | 1 Go | 3 Go |
3 Go | 2 Go | 5 Go |
4 Go | 2 Go | 6 Go |
6 Go | 2 Go | 8 Go |
8 Go | 3 Go | 11 Go |
12 Go | 3 Go | 15 Go |
16 Go | 4 Go | 20 Go |
24 Go | 5 Go | 29 Go |
32 Go | 6 Go | 38 Go |
64 Go | 8 Go | 72 Go |
128 Go | 11 Go | 139 Go |
Comment vérifier l’espace de pagination dans Linux
Il existe plusieurs façons de vérifier la taille du Swap Linux.
Vous pouvez le faire à l’aide de la commande swapon :
swapon -s
Il est aussi possible de consulter le système de fichiers virtuel virtuel /proc :
cat /proc/swaps
La commande free permet de connaître l’espace mémoire totale, utilisée et libre.
En outre, elle affiche les informations de pagination de Linux :
free -m
Enfin tous les utilitaires d’informations systèmes comme top, htop, glances, atop, nmon, vtop, … : 16 outils pour vérifier l’utilisation CPU, mémoire, disque et réseau sur Linux
Liens
- Redimensionner (agrandir/réduire) une partition de disque sous Linux
- La mémoire dans Linux : comment ça marche
- Augmenter/Réduire l’utilisation du swap sous Linux (swappiness)
- Liste des commandes Linux
- Top : lister les processus linux
- 16 outils pour vérifier l’utilisation CPU, mémoire, disque et réseau sur Linux
- Les processus sur Linux : comment ça marche
- sysctl : paramétrer le noyau Linux
- 35 fichiers de configuration /etc à connaître
- NTFS, EXT4 : Comprendre les systèmes de fichiers
- Systemd : Configuration et fonctionnement des services Linux (daemon)
- Comment démarrer, arrêter, redémarrer un service sur Linux
- Comment utiliser journalctl pour voir les journaux Linux dans systemd
L’article Swap Linux : c’est quoi, utilité et quelle taille de partition swap est apparu en premier sur malekal.com.
0 Commentaires