Ajout doc sur KSM

This commit is contained in:
Eric Morino 2022-02-07 15:02:32 +01:00
parent 36ca19041b
commit 3f136efbe8

View file

@ -1289,6 +1289,63 @@ Le plugin *kvm_io* nécessite de tourner en root, `/etc/munin/plugin-conf.d/muni
user root
~~~
## Déduplication de pages mémoire avec KSM
KSM est lacronyme de Kernel Samepage Merging, le noyau Linux analyse la mémoire consommée et fusionne les données identiques qui sont stockées en mémoire.
Lorsque vous avez plusieurs instances du même logiciel, il est très courant que la mémoire soit utilisée pour stocker plussieurs fois la même chose, KSM permet déviter celà.
Ce système ne fonctionne pas avec tout les logiciels, car ils doivent être prévu pour cela, mais c'est le cas de KVM : <https://www.linux-kvm.org/page/KSM>
### Activation de KSM sur Debian
On vérifie que KSM n'est pas activé sur la machine avec la commande :
~~~
# cat /sys/kernel/mm/ksm/run
0
~~~
S'il retourne 1 c'est que KSM est déjà activé sur la machine.
On installe le paquet `ksmtuned`
~~~
# apt install ksmtuned --no-install-recommends
~~~
Le service qui nous instéresse est `ksm.service` on peux arrêter et désactivé le service ksmtuned :
~~~
# systemctl stop ksmtuned.service
# systemctl disable ksmtuned.service
~~~
Puis on redémarre `ksm.service` :
~~~
# systemctl restart ksm.service
~~~
On vérifie que KSM est bien activé :
~~~
# cat /sys/kernel/mm/ksm/run
1
~~~
On peux regarder les statistiques d'utilisation de KMS comme ceci :
~~~
# grep -H '' /sys/kernel/mm/ksm/pages_*
/sys/kernel/mm/ksm/pages_shared:204
/sys/kernel/mm/ksm/pages_sharing:54476
/sys/kernel/mm/ksm/pages_to_scan:100
/sys/kernel/mm/ksm/pages_unshared:44874
/sys/kernel/mm/ksm/pages_volatile:95
~~~
On peux avoir les explications sur chaques variables de ces statistiques ici : <https://blog.siphos.be/2013/05/enabling-kernel-samepage-merging-ksm/>
## FAQ