Actions
Demande #4664
ferméAméliorer la gestion du swap (suite)
Début:
17/08/2020
Echéance:
% réalisé:
0%
Temps estimé:
Difficulté:
5 Difficile
Description
Easte-Eggs revient vers nous suite au ticket #4450 :
De : Emmanuel Lacour via RT <support@easter-eggs.com> Sujet : [Easter-eggs #73359] Re: Question de swappiness pour le SI April Salut à tous, petite mise à jour sur cette demande avant de la clore: on a constaté qu'à priori en Debian buster, vm.swappiness=1 ne suffisait pas car les services sont démarés en cgroups v1 qui met un swappiness par défaut de 60, quelle que soit la valeur de vm.swappiness. Vu surtout sur des serveurs avec MySQL ou InfluxDB qui semblaient swapper sans réelle raison. On a trouvé ça: https://github.com/systemd/systemd/issues/9276 cf. par exemple: cat /sys/fs/cgroup/memory/system.slice/memory.swappiness Du coup la solution semble être d'ajouter une action post à systemd-sysctl: cat /etc/systemd/system/systemd-sysctl.service.d/swappiness.conf [Service] ExecStartPost=/bin/find /sys/fs/cgroup -mindepth 2 -maxdepth 2 -name memory.swappiness -exec /bin/sh -c 'sysctl -n vm.swappiness > "{}"' \; ExecStartPost=/bin/find /sys/fs/cgroup -mindepth 3 -maxdepth 3 -name memory.swappiness -exec /bin/sh -c 'sysctl -n vm.swappiness > "{}"' \; ExecStartPost=/bin/find /sys/fs/cgroup -mindepth 4 -maxdepth 4 -name memory.swappiness -exec /bin/sh -c 'sysctl -n vm.swappiness > "{}"' \; ExecStartPost=/bin/find /sys/fs/cgroup -mindepth 5 -maxdepth 5 -name memory.swappiness -exec /bin/sh -c 'sysctl -n vm.swappiness > "{}"' \; ExecStartPost=/bin/find /sys/fs/cgroup -name memory.swappiness -exec /bin/sh -c 'sysctl -n vm.swappiness > "{}"' \; puis: systemctl daemon-reload systemctl restart systemd-sysctl.service testé sur plusieurs VMs chez nous avec succèsDemande :
- appliquer la solution proposée sur le SI April ?
- des précautions à prendre ?
Actions
#1
Mis à jour par Christian P. Momon il y a environ 4 ans
- Statut changé de Nouveau à En cours de traitement
A priori, cette réponse est formidable :
- elle résout un mystère tenace : pourquoi ça swap alors qu'on a tout fait pour le contraire ;
- elle contient une solution testée et validée par des pros ;
- c'est facile à mettre en œuvre ;
- ça va nous permettre d'améliorer le SI…
\o/
Actions
#2
Mis à jour par Christian P. Momon il y a environ 4 ans
- Lié à Demande #4450: Améliorer la gestion du swap ajouté
Actions
#6
Mis à jour par Christian P. Momon il y a environ 4 ans
Quentin Gibeaux a écrit :
Ça s'applique sans reboot ?
J'sais pas. Au pire, on peut l'intégrer au prochain reboot.
Actions
#7
Mis à jour par Christian P. Momon il y a environ 4 ans
Pour info, l'état des swaps après 16 jours :
cpm@ocmstar (10:50:17) ~/Dossiers/April/Adminsys/git/admin/scripts 3 > ./swapshow.sh Swap Swap RAM Total Used Total (Mo) (Mo) % (Mo) bastion 1903 45 2 % 735 admin 1903 255 13 % 987 dns 951 21 2 % 987 mail 951 92 9 % 1994 sympa 951 252 26 % 3946 adl 951 95 9 % 2246 lamp 951 225 23 % 1994 agir 951 297 31 % 1238 bots 951 49 5 % 483 dtc 951 230 24 % 987 drupal6 951 79 8 % 3965 republique-numerique 951 61 6 % 483 mumble 951 40 4 % 483 candidatsfr 951 430 45 % 986 pad 951 149 15 % 987 scm 951 24 2 % 483 pouet 951 416 43 % 1995 webchat 951 23 2 % 483 cms-dev 951 82 8 % 987 spip 951 56 5 % 987 ====== ====== Total 20924 Mo 2921 Mo 13 %
Actions
#8
Mis à jour par Quentin Gibeaux il y a environ 4 ans
- Version cible changé de Été 2020 à Septembre 2020
Actions
#9
Mis à jour par Christian P. Momon il y a environ 4 ans
- Statut changé de En cours de traitement à Résolu
- Difficulté changé de 2 Facile à 5 Difficile
Actions
#10
Mis à jour par Christian P. Momon il y a environ 4 ans
- Copié vers Demande #4716: Améliorer la gestion du swap (suite) ajouté
Actions
#11
Mis à jour par Christian P. Momon il y a environ 4 ans
Suite à la validation lors de la réunion adminsys du 02/09/2020 :
- ajout du fichier april-swappiness-post.conf dans /srv/commons/ ;
- propagation par un ./do.sh "cd /srv/common/ ; git pull" ;
- ./do.sh "mkdir -p /etc/systemd/system/systemd-sysctl.service.d/ ; cd /etc/systemd/system/systemd-sysctl.service.d/ ; ln -s /srv/common/etc/systemd/system/systemd-sysctl.service.d/april-swappiness-post.conf "
- configuration manuelle de virola et calamus ;
- ./dovm.sh "systemctl daemon-reload ; systemctl restart systemd-sysctl.service" ;
- vérification visuelle via ./do.sh "cat /sys/fs/cgroup/memory/system.slice/memory.swappiness" ;
- vidage des swaps : ./dovm.sh "/sbin/swapoff -a && /sbin/swapon -a"
- commit des modifs dans les /etc.
Actions
#12
Mis à jour par Christian P. Momon il y a environ 4 ans
Enrichissement de la doc : https://admin.april.org/doku.php?id=sysadm:procedures:installation_vm#configuration_du_swap_swappiness
Actions