Project

General

Profile

Demande #4664

Améliorer la gestion du swap (suite)

Added by Christian P. Momon over 2 years ago. Updated about 2 years ago.

Status:
Fermé
Priority:
Normale
Assignee:
Christian P. Momon
Category:
-
Target version:
Start date:
08/17/2020
Due date:
% Done:

0%

Estimated time:
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 ?

Related issues

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

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

Actions

History

#1

Updated by Christian P. Momon over 2 years ago

  • Status changed from Nouveau to 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

Updated by Christian P. Momon over 2 years ago

#3

Updated by Christian P. Momon over 2 years ago

  • Description updated (diff)
#4

Updated by François Poulain over 2 years ago

Cool alors.

#5

Updated by Quentin Gibeaux over 2 years ago

Ça s'applique sans reboot ?

#6

Updated by Christian P. Momon over 2 years ago

Quentin Gibeaux a écrit :

Ça s'applique sans reboot ?

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

#7

Updated by Christian P. Momon over 2 years ago

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

Updated by Quentin Gibeaux about 2 years ago

  • Target version changed from Été 2020 to Septembre 2020
#9

Updated by Christian P. Momon about 2 years ago

  • Status changed from En cours de traitement to Résolu
  • Difficulté changed from 2 Facile to 5 Difficile
#10

Updated by Christian P. Momon about 2 years ago

  • Copied to Demande #4716: Améliorer la gestion du swap (suite) added
#11

Updated by Christian P. Momon about 2 years ago

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

Updated by Quentin Gibeaux about 2 years ago

  • Status changed from Résolu to Fermé

Also available in: Atom PDF