8.3.4. KSM の非アクティブ化
Kernel same-page merging (KSM) には、特定の環境またはホストシステムで大きすぎる可能性があるパフォーマンスのオーバーヘッドがあります。KSM は、ゲスト間で情報を漏洩するために使用される可能性のあるサイドチャネルを導入する場合もあります。これが懸念される場合は、ゲストごとに KSM を無効にすることができます。
KSM は、
ksmtuned
および ksm
サービスを停止することで非アクティブ化できます。ただし、このアクションは再起動後に維持されません。KSM を非アクティブ化するには、ターミナルで root として以下を実行します。
# systemctl stop ksmtuned Stopping ksmtuned: [ OK ] # systemctl stop ksm Stopping ksm: [ OK ]
ksmtuned
と ksm
を停止すると、KSM が非アクティブ化されますが、このアクションは再起動後に維持されません。KSM を永続的に非アクティブ化するには、systemctl コマンドを使用します。
# systemctl disable ksm
# systemctl disable ksmtuned
KSM が無効になっている場合でも、KSM を非アクティブ化する前に共有されていたメモリーページはすべて共有されます。システム内のすべての PageKSM を削除するには、次のコマンドを使用します。
# echo 2 >/sys/kernel/mm/ksm/run
これが実行されると、
khugepaged
デーモンは KVM ゲストの物理メモリーに Transparent Huge Page を再構築できます。# echo 0 >/sys/kernel/mm/ksm/run を使用すると、KSM が停止しますが、以前に作成されたすべての KSM ページの共有は解除されません (これは # systemctl stop ksmtuned コマンドと同じです)。