If you use KVM virtualization, under Ubuntu 10.04 Server LTS, with more than one virtual host running at a time, you may have noticed ksmd eating a lot of CPU cycles. This behavior was not present under 8.04 Server LTS. Apparently, the kmsd functionality was enabled by default in 10.04. KSM – Kernel Samepage Merging – merges memory pages between virtual hosts to save space. Unfortunately, for some, it also utilizes a lot of CPU resources to perform this function. For my use case, I don’t care about the amount of RAM occupied by my virtual hosts, indeed, I installed far more RAM than I need in my server so that I don’t have to worry about a lack of RAM.
If you would like to disable ksmd, edit your /etc/default/qemu-kvm file as follows:
# To disable qemu-kvm’s page merging feature, set KSM_ENABLED=0 and
# sudo restart qemu-kvm
KSM_ENABLED=0
#SLEEP_MILLISECS=2000
Then, as the comments in the file state, restart qemu-kvm. (stop your VM, then "sudo stop qemu-kvm", then "sudo start qemu-kvm")
Thanks so much for this post! Racking my brain for a while on this one.
ReplyDelete