Demande #4664
Mis à jour par Christian P. Momon il y a plus de 3 ans
Easte-Eggs revient vers nous suite au ticket #4450 :
<pre>
De : Emmanuel Lacour via RT <support@easter-eggs.com> brenard@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
</pre>
Demande :
* appliquer la solution proposée sur le SI April ?
* des précautions à prendre ?
<pre>
De : Emmanuel Lacour via RT <support@easter-eggs.com> brenard@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
</pre>
Demande :
* appliquer la solution proposée sur le SI April ?
* des précautions à prendre ?