Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
swap [Le 15/11/2021, 14:46] 213.223.16.226 Unités des colonnes de la commande "swapon" |
swap [Le 19/01/2025, 19:44] (Version actuelle) Benjamin Loison Retrait de `''Code « machine à écrire »''/show` non nécessaire |
||
---|---|---|---|
Ligne 43: | Ligne 43: | ||
<note tip>La copie de la RAM vers la swap consomme des ressources. \\ Plus la copie de la RAM se déclenche tard moins les ressources sont utilisées.</note> | <note tip>La copie de la RAM vers la swap consomme des ressources. \\ Plus la copie de la RAM se déclenche tard moins les ressources sont utilisées.</note> | ||
- | === Réglage permanent dans Ubuntu 14.04 à 18.04 ( Systemd )=== | + | === Réglage permanent dans Ubuntu 14.04 à 18.04 (Systemd)=== |
<note important>La mention barrée ci-dessous est totalement fausse. Le paramètre //swapiness// est beaucoup plus complexe que cela. Pour simplifier il ne gère pas seulement la tendance du noyau à échanger des pages entre la RAM et le swap, mais surtout l'équilibre entre le cache disque et l'utilisation de la mémoire par les applications. **Modifier ce paramètre risque fort d'être contre-productif et donc de diminuer les performances de votre système au lieu de les améliorer**.\\ | <note important>La mention barrée ci-dessous est totalement fausse. Le paramètre //swapiness// est beaucoup plus complexe que cela. Pour simplifier il ne gère pas seulement la tendance du noyau à échanger des pages entre la RAM et le swap, mais surtout l'équilibre entre le cache disque et l'utilisation de la mémoire par les applications. **Modifier ce paramètre risque fort d'être contre-productif et donc de diminuer les performances de votre système au lieu de les améliorer**.\\ | ||
\\ | \\ | ||
- | **Les manipulations présentées de cette section doivent donc absolument être évitées.** | + | **Les manipulations présentées de cette section doivent donc absolument être évitées , en particulier pour les versions récentes d' ubuntu y compris la 22.04.** |
Lire : https://www.howtogeek.com/449691/what-is-swapiness-on-linux-and-how-to-change-it/</note> | Lire : https://www.howtogeek.com/449691/what-is-swapiness-on-linux-and-how-to-change-it/</note> | ||
Ligne 56: | Ligne 56: | ||
On peut le vérifier grâce à la commande : | On peut le vérifier grâce à la commande : | ||
<code bash>cat /proc/sys/vm/swappiness</code> | <code bash>cat /proc/sys/vm/swappiness</code> | ||
- | qui avec les réglages par défaut, répond "60". \\ \\ | + | qui avec les réglages par défaut, répond "60". \\ |
- | ===Régler le déclenchement du fichier d'échange dès que la mémoire est utilisée a 95%=== | + | ===Régler le déclenchement du fichier d'échange dès que la mémoire est utilisée à 95%=== |
L'application de cette procédure avec une valeur faible du swappiness n'est pas conseillée : | L'application de cette procédure avec une valeur faible du swappiness n'est pas conseillée : | ||
Ligne 94: | Ligne 94: | ||
- | ==== Utiliser le même fichier d'échange entre plusieurs systèmes ==== | + | ==== Utiliser la même partition d'échange entre plusieurs systèmes ==== |
Il est possible d'utiliser la même partition SWAP pour plusieurs distributions Linux installées en multi-boot sur le même PC. | Il est possible d'utiliser la même partition SWAP pour plusieurs distributions Linux installées en multi-boot sur le même PC. | ||
Ligne 101: | Ligne 101: | ||
==== Vérifier les espaces d'échange activés et leur niveau utilisation ==== | ==== Vérifier les espaces d'échange activés et leur niveau utilisation ==== | ||
- | **Plus d'un espace d'échange peuvent être affectés à votre système Ubuntu.** \\ | + | **Plus d'un espace d'échange peuvent être affectés à votre système Ubuntu.** |
De plus, chacun de ces espaces peut être utilisé de manière inégale. Pour connaître les espaces d'échange actuellement activés dans votre système Ubuntu et leur niveau d'utilisation, utilisez la commande ''swapon'' de la façon suivante : | De plus, chacun de ces espaces peut être utilisé de manière inégale. Pour connaître les espaces d'échange actuellement activés dans votre système Ubuntu et leur niveau d'utilisation, utilisez la commande ''swapon'' de la façon suivante : | ||
<code bash>swapon -s</code> | <code bash>swapon -s</code> | ||
Ligne 114: | Ligne 114: | ||
Voici un exemple du retour de cette commande : | Voici un exemple du retour de cette commande : | ||
<box 60% classes orange | Commande : swapon -s> | <box 60% classes orange | Commande : swapon -s> | ||
- | <file>utilisateur@Nomdel'Ordinateur:~$ swapon -s | + | <file>utilisateur@Nomdel'Ordinateur:~$ swapon -s |
Filename Type Size Used Priority | Filename Type Size Used Priority | ||
/dev/sda3 partition 5241852 0 -1 | /dev/sda3 partition 5241852 0 -1 | ||
Ligne 121: | Ligne 121: | ||
</box|Terminal> | </box|Terminal> | ||
+ | **NB** : l'option "-s" est obsolète. Utiliser "--show" qui affiche un résultat mieux formaté. Exemple : | ||
+ | |||
+ | [user@host~} swapon --show | ||
+ | NAME TYPE SIZE USED PRIO | ||
+ | /dev/sda5 partition 2,3G 365,9M -2 | ||
\\ | \\ | ||
Ligne 129: | Ligne 134: | ||
Les fichiers d'échange ont quelques avantages par rapport aux partitions d'échange. \\ | Les fichiers d'échange ont quelques avantages par rapport aux partitions d'échange. \\ | ||
- | Pour commencer, leur ajout ou suppression n'a pas d'impact sur la table des partitions du disque dur, ce qui limite les possibles pertes de données liées à la modification à posteriori du système de partitions d'un disque dur. Par conséquent, il est aisé d'attribuer à la volée plus ou moins d'espace d'échange selon les besoins, qu'ils soient temporaires ou non. \\ | + | Pour commencer, leur ajout ou suppression n'a pas d'impact sur la table des partitions du disque dur, ce qui limite les possibles pertes de données liées à la modification à posteriori du système de partitions d'un disque dur. Par conséquent, il est aisé d'attribuer à la volée plus ou moins d'espace d'échange selon les besoins, qu'ils soient temporaires ou non. |
Enfin, même s'ils sont stockés dans un système de fichiers, les fichiers d'échange sont exploités directement par le noyau Linux; l'utilisation d'un espace d'échange, sous forme de partition ou de fichier, devrait être identique quant aux performances. | Enfin, même s'ils sont stockés dans un système de fichiers, les fichiers d'échange sont exploités directement par le noyau Linux; l'utilisation d'un espace d'échange, sous forme de partition ou de fichier, devrait être identique quant aux performances. | ||
Ligne 154: | Ligne 159: | ||
* Par exemple, pour activer la prise en charge de l'espace d'échange sur le fichier ''file.swap'' situé à la racine d'Ubuntu, on utilisera la commande suivante : | * Par exemple, pour activer la prise en charge de l'espace d'échange sur le fichier ''file.swap'' situé à la racine d'Ubuntu, on utilisera la commande suivante : | ||
<code bash>sudo swapon /file.swap</code> | <code bash>sudo swapon /file.swap</code> | ||
- | - Rendez disponible le fichier d'échange à chaque démarrage en éditant le fichier /etc/fstab et lui ajoutant : | + | - Rendez disponible le fichier d'échange à chaque démarrage en éditant le fichier ''/etc/fstab'' et lui ajoutant : |
<file bash /etc/fstab> | <file bash /etc/fstab> | ||
#Entry for /swapfile : | #Entry for /swapfile : | ||
Ligne 162: | Ligne 167: | ||
Et commentez la ligne qui concerne l'ancienne partition swap que vous pourrez désormais supprimer. | Et commentez la ligne qui concerne l'ancienne partition swap que vous pourrez désormais supprimer. | ||
- | - Commentez l'ancienne entrée de la partition swap du fichier /etc/initramfs-tools/conf.d/resume : | + | - Commentez l'ancienne entrée de la partition swap du fichier ''/etc/initramfs-tools/conf.d/resume'' : |
<file bash /etc/initramfs-tools/conf.d/resume> | <file bash /etc/initramfs-tools/conf.d/resume> | ||
#RESUME=UUID=1e1ebf39-2de7-4181-a504-4e317fd8db9c | #RESUME=UUID=1e1ebf39-2de7-4181-a504-4e317fd8db9c | ||
</file> | </file> | ||
- | <note tip>Pour la création d'un fichier swap sur un HDD qui est monté sur un SDD (par exemple sous /home), créez le fichier swap sous le point de montage (par exemple /home/file.swap) et assurez vous que dans le fichier /etc/fstab, la ligne concernant le swapfile se trouve après la ligne qui indique le montage du disque HDD.</note> | + | <note tip>Pour la création d'un fichier swap sur un HDD qui est monté sur un SDD (par exemple sous ''/home''), créez le fichier swap sous le point de montage (par exemple ''/home/file.swap'') et assurez vous que dans le fichier ''/etc/fstab'', la ligne concernant le swapfile se trouve après la ligne qui indique le montage du disque HDD.</note> |
**Pour supprimer un fichier d'échange :** | **Pour supprimer un fichier d'échange :** | ||
Ligne 217: | Ligne 222: | ||
<note tip> | <note tip> | ||
- | Si votre swap est utilisé alors qu'il y a encore de la place dans la RAM, il est possible de le vider avec la commande : | + | Si votre swap est utilisé alors qu'il y a encore de la place dans la RAM, il est possible de le vider en le désactivant avec la commande : |
<code> | <code> | ||
sudo swapoff -a | sudo swapoff -a | ||
</code> | </code> | ||
+ | On peut ensuite réactiver le swap avec la commande : | ||
+ | <code> | ||
+ | sudo swapon -a | ||
+ | </code> | ||
+ | Ainsi le swap sera vidé mais toujours disponible en cas de besoin. | ||
</note> | </note> | ||
Ligne 231: | Ligne 241: | ||
</code> | </code> | ||
- | Vous pouvez ensuite activer la partition d'échange avec : | + | Vous pouvez ensuite activer la partition d'échange avec : |
<code bash> | <code bash> | ||
sudo swapon /dev/sda6 | sudo swapon /dev/sda6 | ||
Ligne 242: | Ligne 252: | ||
</file> | </file> | ||
- | Et afin que vos mises en veille et hibernations se produisent correctement, vous devrez de même modifier le fichier **/etc/initramfs-tools/conf.d/resume** pour y renseigner le bon UUID : | + | Et afin que vos mises en veille et hibernations se produisent correctement, vous devrez de même modifier le fichier **/etc/initramfs-tools/conf.d/resume** pour y renseigner le bon UUID : |
<file bash /etc/initramfs-tools/conf.d/resume> | <file bash /etc/initramfs-tools/conf.d/resume> | ||
RESUME=UUID=db245df9-851d-695b-a3f7-d40f039a6cc6 | RESUME=UUID=db245df9-851d-695b-a3f7-d40f039a6cc6 | ||
Ligne 252: | Ligne 262: | ||
Il vaut mieux, après cela, redémarrer la machine. | Il vaut mieux, après cela, redémarrer la machine. | ||
- | <note>L'UUID de la partition a dû être affiché par la commande **mkswap**, sinon vous pouvez l'obtenir avec la commande | + | <note>L'UUID de la partition a dû être affiché par la commande **mkswap**, sinon vous pouvez l'obtenir avec la commande |
<code bash>sudo blkid /dev/sda6</code></note> | <code bash>sudo blkid /dev/sda6</code></note> | ||
- | <note>L'UUID de la partition peut-être réécrite en employant la commande **mkswap**: | + | <note>L'UUID de la partition peut-être réécrite en employant la commande **mkswap**: |
<code bash>sudo mkswap -U <l'UUID desirée> /dev/<votre partition></code></note> | <code bash>sudo mkswap -U <l'UUID desirée> /dev/<votre partition></code></note> | ||
Ligne 317: | Ligne 327: | ||
* Pour vérifier le résultat : | * Pour vérifier le résultat : | ||
<code> | <code> | ||
- | $ cat /etc/crypttab | grep /dev/sdaX | + | $ grep -F "/dev/sdaX" /etc/crypttab |
cryptswap1 /dev/sdaX /dev/urandom swap,cipher=aes-cbc-essiv:sha256 | cryptswap1 /dev/sdaX /dev/urandom swap,cipher=aes-cbc-essiv:sha256 | ||
- | $ cat /etc/fstab | grep cryptswap1 | + | $ grep -F "cryptswap1" /etc/fstab |
/dev/mapper/cryptswap1 none swap sw 0 0 | /dev/mapper/cryptswap1 none swap sw 0 0 | ||
</code> | </code> | ||
Ligne 326: | Ligne 336: | ||
== Activation == | == Activation == | ||
- | <code> | + | |
- | $ sudo ecryptfs-setup-swap | + | $ sudo ecryptfs-setup-swap |
- | </code> | + | |
Difficile de faire plus simple. | Difficile de faire plus simple. | ||
== Désactivation == | == Désactivation == | ||
Ligne 349: | Ligne 359: | ||
===== Voir aussi ===== | ===== Voir aussi ===== | ||
- | * **(en)** Official Ubuntu Forum ; sujet : [[https://help.ubuntu.com/community/SwapFaq|Questions fréquentes concernant la SWAP]] | + | * **(en)** Official Ubuntu Forum ; sujet : [[https://help.ubuntu.com/community/SwapFaq|Questions fréquentes concernant la SWAP]] |
* **(en)** [[http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/|Linux add a swap file howto]] — { Comment ajouter un fichier d'échange sous Linux } sur le blog Nix Craft — Date : 18 mai 2006 ; mise à jour : 3 mai 2017. | * **(en)** [[http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/|Linux add a swap file howto]] — { Comment ajouter un fichier d'échange sous Linux } sur le blog Nix Craft — Date : 18 mai 2006 ; mise à jour : 3 mai 2017. | ||
* **Vidéo**: [[https://www.youtube.com/watch?v=NCb4B0DAErc|Comprendre l’intérêt d'une RAM]] | * **Vidéo**: [[https://www.youtube.com/watch?v=NCb4B0DAErc|Comprendre l’intérêt d'une RAM]] | ||
- | * **(en)** [[https://blog.sleeplessbeastie.eu/2012/05/23/ubuntu-how-to-encrypt-swap-partition/|la source pour le cryptage de la swap]] | + | * **(en)** [[https://blog.sleeplessbeastie.eu/2012/05/23/ubuntu-how-to-encrypt-swap-partition/|la source pour le chiffrement de la swap]] |
- | * **(en)** [[https://www.logilab.org/blogentry/29155|Activer et désactiver le cryptage de la swap]] | + | |
---- | ---- |