8.4.4. Deactivating KSM
Kernel same-page merging (KSM) has a performance overhead which may be too large for certain environments or host systems. KSM may also introduce side channels that could be potentially used to leak information across guests. If this is a concern, KSM can be disabled on per-guest basis.
KSM can be deactivated by stopping the
ksmtuned
and the ksm
services. However, this action does not persist after restarting. To deactivate KSM, run the following in a terminal as root:
# systemctl stop ksmtuned Stopping ksmtuned: [ OK ] # systemctl stop ksm Stopping ksm: [ OK ]
Stopping the
ksmtuned
and the ksm
deactivates KSM, but this action does not persist after restarting. Persistently deactivate KSM with the systemctl
commands:
# systemctl disable ksm # systemctl disable ksmtuned
When KSM is disabled, any memory pages that were shared prior to deactivating KSM are still shared. To delete all of the PageKSM in the system, use the following command:
# echo 2 >/sys/kernel/mm/ksm/run
After this is performed, the
khugepaged
daemon can rebuild transparent hugepages on the KVM guest physical memory. Using # echo 0 >/sys/kernel/mm/ksm/run
stops KSM, but does not unshare all the previously created KSM pages (this is the same as the # systemctl stop ksmtuned
command).