Swap Debian: réglage du swappines

Partagez ici vos Trucs et vos Astuces.
Répondre
Avatar de l’utilisateur
DebDynamiX
Membre
Membre
Messages : 64
Inscription : 16 oct. 2025, 23:31
Status : Hors-ligne

Je me suis aperçu que dans mon workflow HPC multi piles, que lors d'un workload build parallèle comme make, cargo, nvcc d'un gros projet ... bazel je n'en parle meme pas, e kernel Debian avait tendance à swaper trop tôt. La configuration muli couches avait tendence à l'amplifier et provoquait du swap avant bien avant la saturation de la RAM.

Si vous ne le saviez pas, Debian attribue par defaut une valeur au swappiness ce qui peut declencher le swap, suivant votre configuration, a 30% ou 40% de votre RAM.

Pour que vous puissiez configurer le swappiness suivant votre configuration, il faut d'abord verifier que la valeur par defaut est contre productive dans votre cas.

1. Pour ceux qui utilisent des conteneurs:

Code : Tout sélectionner

cat /proc/sys/vm/swappiness
2. Pour ceux qui utilisent un VM Debian:

Code : Tout sélectionner

cat /proc/meminfo | grep -i swap
3. Pour voir le rapport swap/RAM:

Code : Tout sélectionner

free -h
La valeur numerique que vous attribuerez est un paramètre de priorité plus la valeur est élevée, plus Debian swap tôt, même si la RAM est encore largement disponible.
  • 0–10 : swap minimal
    10–30 : swap modéré
    30-60: swap agressif

Si vous trouvez que le rapport (swap/RAM) est trop fort, baissez la valeur, mais jamais inferieur a 1, avec:

1. Soit dynamiquement (pour un workload pnctuel et que vous voulez garder la config au prochain démarrage):

Code : Tout sélectionner

su -
sysctl vm.swappiness=[Votre_valeur_numerique]
2. Soit de manière permanente:

Code : Tout sélectionner

su -
echo "vm.swappiness=[Votre_valeur_numerique]" >> /etc/sysctl.conf
sysctl -p
3. Verif:

Code : Tout sélectionner

cat /proc/sys/vm/swappiness
J'espère que cela vous aidera, car si vous l'ajustez bien, votre Debian sera encore un petit peu plus fluide. Ce n’est pas le facteur principal d’usure, mais ca vous aidera a sauvegarder aussi un peu plus les NAND de votre SSD.
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 6457
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Merci, mais il faudrait mettre ça dans le wiki.
Je tourne à 20 depuis des années, c'est un bon compromis pour mon usage.
Avatar de l’utilisateur
DebDynamiX
Membre
Membre
Messages : 64
Inscription : 16 oct. 2025, 23:31
Status : Hors-ligne

J'ai mis du temps a comprendre les incohérences des pics, la config de mon workflow HPC est sur 6 couches (64 GB de RAM , suffit pour une config simple normalement), des OOM incompréhensibles. Depuis ce matin, j'ai passé Proxmox à 1 avec les workloads, Pytorch/Tensorflow à 5. Je fais test pour Slurm/HTcondor.

En tous les cas j'espère que ce petit rappel aidera, pour ne pas devenir fou :lol:
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 340
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

DebDynamiX, je ne suis pas vraiment d'accord avec le titre de ton sujet ("Erreur courante").

Chez moi, toutes les machines ont un swappiness à 60 et ça ne pose aucun problème.

Mon PC de bureau :

Code : Tout sélectionner

free -h
               total       utilisé      libre     partagé tamp/cache   disponible
Mem:           7,7Gi       2,0Gi       3,3Gi        47Mi       2,7Gi       5,7Gi
Échange:        36Gi          0B        36Gi
Un serveur qui fait tourner un serveur de messagerie :

Code : Tout sélectionner

free -h
               total       utilisé      libre     partagé tamp/cache   disponible
Mem:           1,8Gi       197Mi       1,2Gi        11Mi       511Mi       1,6Gi
Échange:       1,8Gi          0B       1,8Gi
Amicalement.

Jean-Marie
Avatar de l’utilisateur
DebDynamiX
Membre
Membre
Messages : 64
Inscription : 16 oct. 2025, 23:31
Status : Hors-ligne

Ce n’est pas une question d’utile ou inutile. C’est simplement que la configuration, l’usage et le but ne sont pas les mêmes d’une machine à l’autre. La valeur de swappiness dépend de l’architecture et du type de charge. Je l’ai mentionné pour que chacun puisse ajuster son système en fonction de ce qu’il en fait, pas pour imposer un réglage unique. En fait, le reglage du swappiness n’est pas une règle universelle mais un réglage contextuel.
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 340
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

DebDynamiX a écrit : 09 mars 2026, 12:17 Ce n’est pas une question d’utile ou inutile. C’est simplement que la configuration, l’usage et le but ne sont pas les mêmes d’une machine à l’autre. La valeur de swappiness dépend de l’architecture et du type de charge. Je l’ai mentionné pour que chacun puisse ajuster son système en fonction de ce qu’il en fait, pas pour imposer un réglage unique. En fait, le reglage du swappiness n’est pas une règle universelle mais un réglage contextuel.
Oui. Ce qui veut bien dire que intituler le début du titre de ton sujet : "Erreur courante" est exagéré. C'est juste ce que j'ai voulu démontrer.

Amicalement.

Jean-Marie
Avatar de l’utilisateur
DebDynamiX
Membre
Membre
Messages : 64
Inscription : 16 oct. 2025, 23:31
Status : Hors-ligne

Tu confonds “erreur courante” et “tout le monde se trompe”. Je trouve que mon titre est tres bien et approprié, il décrit bien une situation fréquente, un réglage laissé tel quel alors qu’il n’est pas toujours adapté.
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 340
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

C'est bien ce que je dis. Un swappiness à 60, comme c'est le cas chez moi et probablement chez 99% des utilisateurs de debian, n'est ABSOLUMENT pas une erreur (qu'elle soit exceptionnelle ou courante).
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 6457
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Pour éviter toute polémique, je vais le renommer en "réglage du swappines". C'est neutre.
Perso j'ai abandonné proxmox. J'utilise cockpit pour les VM (en cours de test), incus et podman pour les containers (en production)
Répondre