CentOS7.4 KVM環境が遅いと感じた時の対応(KSMの停止)

シェアする

最近、レスポンスが良くないなと思って、KVMホストでtopコマンドで見ていると、「ksmd」というものがCPUを結構占有していました。

KVMは、KSM(Kernel Same-page Merging)によって、KVMゲストの同一メモリーページを共有することが可能になりますが、KSMの処理自体の負荷が高い場合は、無効化すると良いかもしれません。

参考URL
https://access.redhat.com/documentation/ja-jp/
red_hat_enterprise_linux/7/html/virtualization_tuning_and_optimization_guide/chap-ksm

KSMの停止

ksmtunedとksmを停止し、共有されていたメモリーも削除します。

# systemctl stop ksmtuned
# systemctl stop ksm
# systemctl disable ksmtuned
Removed symlink /etc/systemd/system/multi-user.target.wants/ksmtuned.service.
# systemctl disable ksm
Removed symlink /etc/systemd/system/multi-user.target.wants/ksm.service.
echo 2 >/sys/kernel/mm/ksm/run <= PageKSMの削除

今回は、KVMの機能を一部停止するかたちとしましたが、多分、KVMゲストOSの数に対して、マシンスペックが足りないんだろうと思いました。