我刚刚在我们的一个虚拟机管理程序上启用了 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
答案1
激活 KSM 大约两天后,我看到 pages_sharing 和 pages_shared 计数增加。不知道为什么,因为自激活 KSM 以来系统没有发生任何变化。