Projet

Général

Profil

Demande #4664

Améliorer la gestion du swap (suite)

Ajouté par Christian P. Momon il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normale
Assigné à:
Christian P. Momon
Catégorie:
-
Version cible:
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ès 

Demande :
  • appliquer la solution proposée sur le SI April ?
  • des précautions à prendre ?

Demandes liées

Lié à Admins - Demande #4450: Améliorer la gestion du swapFermé02/05/2020

Actions
Copié vers Infra Chapril - Demande #4716: Améliorer la gestion du swap (suite)Fermé17/08/2020

Actions

Historique

#1

Mis à jour par Christian P. Momon il y a plus de 3 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/

#2

Mis à jour par Christian P. Momon il y a plus de 3 ans

#3

Mis à jour par Christian P. Momon il y a plus de 3 ans

  • Description mis à jour (diff)
#4

Mis à jour par François Poulain il y a plus de 3 ans

Cool alors.

#5

Mis à jour par Quentin Gibeaux il y a plus de 3 ans

Ça s'applique sans reboot ?

#6

Mis à jour par Christian P. Momon il y a plus de 3 ans

Quentin Gibeaux a écrit :

Ça s'applique sans reboot ?

J'sais pas. Au pire, on peut l'intégrer au prochain reboot.

#7

Mis à jour par Christian P. Momon il y a plus de 3 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 %

#8

Mis à jour par Quentin Gibeaux il y a plus de 3 ans

  • Version cible changé de Été 2020 à Septembre 2020
#9

Mis à jour par Christian P. Momon il y a plus de 3 ans

  • Statut changé de En cours de traitement à Résolu
  • Difficulté changé de 2 Facile à 5 Difficile
#10

Mis à jour par Christian P. Momon il y a plus de 3 ans

  • Copié vers Demande #4716: Améliorer la gestion du swap (suite) ajouté
#11

Mis à jour par Christian P. Momon il y a plus de 3 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.
#13

Mis à jour par Quentin Gibeaux il y a plus de 3 ans

  • Statut changé de Résolu à Fermé

Formats disponibles : Atom PDF