Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| linux:memory [14-10-2025 13:50] – [Créer une swap dans un fichier] edmc73 | linux:memory [09-04-2026 15:31] (Version actuelle) – edmc73 | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ===== Comportement de la swap ===== | ===== Comportement de la swap ===== | ||
| + | |||
| + | ==== swappiness ==== | ||
| La variable swappiness permet de faire varier l’utilisation de la mémoire vive par rapport à la swap. Par défaut, cette variable est fixée à 60 sur une échelle qui va de 0 à 100. | La variable swappiness permet de faire varier l’utilisation de la mémoire vive par rapport à la swap. Par défaut, cette variable est fixée à 60 sur une échelle qui va de 0 à 100. | ||
| Ligne 30: | Ligne 32: | ||
| watch free | watch free | ||
| Vous verrez se vider la swap et se remplir la ram jusqu' | Vous verrez se vider la swap et se remplir la ram jusqu' | ||
| + | |||
| + | ==== vfs_cache_pressure ==== | ||
| + | |||
| + | Le paramètre vm.vfs_cache_pressure contrôle la priorité donnée à la mise en cache des fichiers par rapport à la mémoire des processus. Une valeur élevée peut pousser le système à swapper plus tôt. Par défaut, il est à 100. | ||
| + | |||
| + | Pour réduire la pression sur le cache, testez temporairement : | ||
| + | sysctl vm.vfs_cache_pressure=50 | ||
| + | |||
| + | Vérifiez : | ||
| + | cat / | ||
| + | |||
| + | Rendez permanent en ajoutant dans / | ||
| + | vm.vfs_cache_pressure=50 | ||
| + | |||
| + | Appliquez : | ||
| + | sysctl -p | ||
| + | |||
| + | Note : Une valeur de 50 réduit la priorité du cache, favorisant la mémoire des processus. Soyez prudent, car une valeur trop basse peut affecter les performances des systèmes de fichiers. | ||
| ===== Gérer la swap ===== | ===== Gérer la swap ===== | ||
| Ligne 37: | Ligne 57: | ||
| ==== Créer une swap dans un fichier ==== | ==== Créer une swap dans un fichier ==== | ||
| + | |||
| + | Allez dans un répertoire par exemple | ||
| + | cd / | ||
| Rajouter de la swap grâce à un fichier de swap. Nous allons créer un fichier de 200Go | Rajouter de la swap grâce à un fichier de swap. Nous allons créer un fichier de 200Go | ||
| dd if=/ | dd if=/ | ||
| + | Il est nécessaire de mettre les droits adéquates | ||
| + | chmod -v 600 file.swap | ||
| Nous formatons ce fichier avec le système swap | Nous formatons ce fichier avec le système swap | ||
| mkswap -c file.swap | mkswap -c file.swap | ||
| - | Noté bien l'UUID | ||
| < | < | ||
| mkswap: avertissement : | mkswap: avertissement : | ||
| - | mkswap: file.swap : | ||
| Configure l' | Configure l' | ||
| pas d' | pas d' | ||
| </ | </ | ||
| - | Sinon, utilisé | + | Si vous voulez retrouver l'UUID, utilisez |
| - | swaplabel | + | swaplabel file.swap |
| + | Pour avoir le chemin complet du fichier | ||
| + | realpath file.swap | ||
| - | Il est nécessaire de mettre les droits adéquates | ||
| - | chmod -v 600 file.swap | ||
| - | On ajoute ce fichier à la swap de façon instantanée | ||
| - | swapon file.swap | ||
| - | |||
| - | Pour supprimer ce fichier de la swap | ||
| - | swapoff file.swap | ||
| Ajouter dans /etc/fstab | Ajouter dans /etc/fstab | ||
| - | UUID=782929af-2ae7-4ad6-9fbc-2af87ef7dff7 | + | |
| + | |||
| + | Rechargez tout | ||
| + | swapoff -av && swapon -av | ||
| + | |||
| + | (A noter que mettre le UUID dans le fstab ne fonctionne pas car ce n'est pas une partition) | ||
| + | |||
| + | === Cas spécial sur ZFS === | ||
| + | Utiliser ce système de fichier swap sur ZFS ne fonctionne pas. Il faut créer un volume. | ||
| + | |||
| + | Créez le ZVol (exemple pour 16 Go sur votre pool rpool : adapter le nom rpool via la commande zpool list ) : | ||
| + | < | ||
| + | zfs create | ||
| + | -o compression=off \ | ||
| + | -o logbias=throughput \ | ||
| + | -o sync=always \ | ||
| + | -o primarycache=metadata \ | ||
| + | -o secondarycache=none rpool/swap | ||
| + | </ | ||
| + | Préparez et activez le swap : | ||
| + | < | ||
| + | mkswap -f / | ||
| + | swapon / | ||
| + | </ | ||
| + | Rendez-le permanent en ajoutant ceci à /etc/fstab : | ||
| + | < | ||
| + | / | ||
| + | </ | ||
| + | Voir les volumes zfs | ||
| + | zfs list | ||
| ==== Créer une swap en RAM ==== | ==== Créer une swap en RAM ==== | ||
| Ca peut sembler bizarre mais on peut utiliser la RAM pour y stocker un fichier de swap. | Ca peut sembler bizarre mais on peut utiliser la RAM pour y stocker un fichier de swap. | ||
| Ligne 154: | Ligne 201: | ||
| vmtouch -v * | grep -B 1 " | vmtouch -v * | grep -B 1 " | ||
| + | ===== Compresser la RAM ===== | ||
| + | |||
| + | On peut compresser la RAM de façon dynamique grâce à zram | ||
| + | -> https:// | ||