Я только что включил ksm на одном из наших гипервизоров с большим количеством запущенных виртуальных машин (qemu-kvm), которые используют одну и ту же операционную систему. В любом случае, pages_sharing и pages_shared по-прежнему показывают 0:
root@myserver:~# cat /sys/kernel/mm/ksm/run
1
root@myserver:~# cat /sys/kernel/mm/ksm/pages_sharing
0
root@myserver:~# cat /sys/kernel/mm/ksm/pages_shared
0
root@myserver:~# grep KSM /boot/config-`uname -r`
CONFIG_KSM=y
Могу ли я перезапустить libvirtd или даже виртуальные машины, чтобы увидеть какой-то эффект? Я уже перезапустил несколько похожих виртуальных машин, но страницы pages_sharing и pages_shared по-прежнему равны 0 ... Я надеялся активировать эту функцию, не прерывая работу виртуальных машин.
Некоторая системная информация:
root@myserver:~# grep KSM /boot/config-`uname -r`
CONFIG_KSM=y
root@myserver:~# uname -a
Linux myserver 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux
root@myserver:~# dpkg --list | grep qemu
ii qemu-kvm 1:2.1+dfsg-12+deb8u6 amd64 QEMU Full virtualization on x86 hardware
ii qemu-system-common 1:2.1+dfsg-12+deb8u6 amd64 QEMU full system emulation binaries (common files)
ii qemu-system-x86 1:2.1+dfsg-12+deb8u6 amd64 QEMU full system emulation binaries (x86)
ii qemu-utils 1:2.1+dfsg-12+deb8u6 amd64 QEMU utilities
Примерно через два дня после активации KSM я теперь вижу, как подсчитываются pages_sharing и pages_shared. Не знаю, почему, поскольку с момента активации KSM в систему не было внесено никаких изменений.