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 Prochaine révision Les deux révisions suivantes | ||
swap [Le 27/09/2018, 23:13] 89.156.188.195 [Aller plus loin...] |
swap [Le 09/07/2019, 22:48] L'Africain [Créer un fichier d'échange] |
||
---|---|---|---|
Ligne 10: | Ligne 10: | ||
Le présent document se veut être une présentation succincte de ce qu'est l'espace d'échange dans Ubuntu et des méthodes pour créer, modifier et supprimer cet espace d'échange. | Le présent document se veut être une présentation succincte de ce qu'est l'espace d'échange dans Ubuntu et des méthodes pour créer, modifier et supprimer cet espace d'échange. | ||
- | <note important>Depuis la Ubuntu 17.04, la swap n'est plus une partition mais un fichier situé dans /swapfile **sauf si une ancienne partition swap est détectée à l'installation** : dans ce cas, celle-ci est intégrée au fichier /etc/fstab et le fichier /swapfile n'est pas créé. Si une ancienne partition swap existe mais qu'on ne veut pas l'utiliser, il faut configurer cette partition swap à l'installation : cliquer sur la partition swap, et choisir ne pas utiliser cette partition, dans le menu déroulant. Dans ce dernier cas, le fichier /swapfile sera créé. </note> | + | <note important>Depuis la Ubuntu 17.04, le swap n'est plus une partition mais un fichier situé dans /swapfile **sauf si une ancienne partition swap est détectée à l'installation** : dans ce cas, celle-ci est intégrée au fichier /etc/fstab et le fichier /swapfile n'est pas créé. Si une ancienne partition swap existe mais qu'on ne veut pas l'utiliser, il faut configurer cette partition swap à l'installation : cliquer sur la partition swap, et choisir ne pas utiliser cette partition, dans le menu déroulant. Dans ce dernier cas, le fichier /swapfile sera créé. </note> |
===== Qu'est-ce qu'un espace d'échange ? ===== | ===== Qu'est-ce qu'un espace d'échange ? ===== | ||
Ligne 47: | Ligne 47: | ||
=== Réglage permanent dans Ubuntu 14.04 à 18.04 ( Systemd )=== | === Réglage permanent dans Ubuntu 14.04 à 18.04 ( Systemd )=== | ||
**Par défaut, Ubuntu est réglé de cette façon :** \\ | **Par défaut, Ubuntu est réglé de cette façon :** \\ | ||
- | À partir de 40% d'utilisation de la RAM (**donc 60% de libre**), le noyau **peut**, si il en a besoin, copier une partie de la RAM dans la swap. \\ | + | À partir de 40% d'utilisation de la RAM (**donc 60% de libre**), le noyau **peut** copier une partie de la RAM dans la swap. \\ |
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 a 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 62: | Ligne 62: | ||
--> en cas d'utilisation d'applications demandant d'importantes ressources mémoire (cf §2.1), | --> en cas d'utilisation d'applications demandant d'importantes ressources mémoire (cf §2.1), | ||
- | --> sur des ordinateurs disposant de peu de RAM. | + | La valeur de 60 définie par les concepteurs du système garantit un fonctionnement correct quelque soit votre configuration. La valeur minimale conseillée par canonical //[source ?]// est swappiness=10. La valeur de 5 apporte un gain notable en vélocité, **surtout** sur les machines peu dotées en RAM. La valeur de zéro provoque le gel du système quand la RAM est utilisée à 100% et ne suffit plus. |
- | + | ||
- | Contrairement à la valeur de 60% définie par les concepteurs du système qui garantit un fonctionnement correct quelque soit votre configuration, une faible valeur comme celle proposée ici ne repose sur rien de tangible. Il n'y a aucune garantie que votre ordinateur s'en trouve amélioré.Il convient donc de procéder avec une extrême prudence et par étape. La valeur minimale conseillé par canonical est swappiness=10. | + | |
Cette procédure crée un fichier **99-swappiness.conf** qui stocke vos réglages les rendant actifs au prochain redémarrage. | Cette procédure crée un fichier **99-swappiness.conf** qui stocke vos réglages les rendant actifs au prochain redémarrage. | ||
Ligne 72: | Ligne 70: | ||
<code>echo vm.vfs_cache_pressure=50 | sudo tee -a /etc/sysctl.d/99-swappiness.conf | <code>echo vm.vfs_cache_pressure=50 | sudo tee -a /etc/sysctl.d/99-swappiness.conf | ||
sudo sysctl -p /etc/sysctl.d/99-swappiness.conf</code> | sudo sysctl -p /etc/sysctl.d/99-swappiness.conf</code> | ||
- | If faut désactiver et réactiver l'utilisation du fichier d'échange pour que les réglages deviennent actifs immédiatement : | + | Il faut désactiver et réactiver l'utilisation du fichier d'échange pour que les réglages deviennent actifs immédiatement : |
<code bash>sudo swapoff -av | <code bash>sudo swapoff -av | ||
sudo swapon -av</code> \\ | sudo swapon -av</code> \\ | ||
Ligne 115: | Ligne 113: | ||
==== Créer un fichier d'échange ==== | ==== Créer un fichier d'échange ==== | ||
- | Afin d'ajouter davantage d'espace d'échange utilisable par votre système Ubuntu, nous vous recommandons la création de fichiers d'échange. | + | Afin d'ajouter davantage d'espace d'échange utilisable par votre système Ubuntu, nous vous recommandons la création de fichiers d'échange ou bien si vous voulez tout simplement remplacer une partition swap par un fichier. |
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. | ||
- | |||
- | Cependant, un fichier d'échange __ne__ peut __pas__ être utilisé dans le cadre d'une mise en veille prolongée (hibernation). Pour cette utilisation, il vous faudra attribuer l'espace d'échange sous forme de partitions. | ||
**Pour créer un fichier d'échange :** | **Pour créer un fichier d'échange :** | ||
Ligne 148: | Ligne 144: | ||
<file bash /etc/fstab> | <file bash /etc/fstab> | ||
#Entry for /swapfile : | #Entry for /swapfile : | ||
- | /file.swap none swap defaults 0 0 | + | /file.swap none swap sw 0 0 |
</file> | </file> | ||
- | + | Et commentez la ligne qui concerne l'ancienne partition swap que vous pourrez désormais supprimer. | |
- | + | ||
- | \\ | + | |
==== Modifier la ou les partitions d'échange ==== | ==== Modifier la ou les partitions d'échange ==== | ||