18.6.8. Kernel Same-Page Merging の有効化と無効化
仮想マシン (VM) の CPU 効率を最適化するには、Kernel Same-Page Merging (KSM) を有効化または無効化します。
KSM は、仮想マシン間で同一のメモリーページを共有することで、メモリー密度を向上させます。したがって、KSM を有効にすると、仮想マシンデプロイメントのメモリー効率が向上する可能性があります。ただし、KSM を有効にすると、CPU 使用率も増加し、ワークロードによっては全体的なパフォーマンスに悪影響が生じる可能性があります。
RHEL 10 では、KSM はデフォルトで無効になっています。KSM を有効にして仮想マシンパフォーマンスへの影響をテストするには、次の手順を参照してください。
前提条件
- ホストシステムへのルートアクセス。
手順
KSM を有効にします。
警告KSM を有効にすると、CPU 使用率が増大し、CPU 全体のパフォーマンスに影響を及ぼします。
ksmtunedサービスをインストールします。# dnf install ksmtunedサービスを起動します。
KSM を単一セッションの間だけ有効にするには、
systemctlユーティリティーを使用してksmおよびksmtunedサービスを開始します。# systemctl start ksm # systemctl start ksmtunedKSM を永続的に有効にするには、
systemctlユーティリティーを使用してksmサービスおよびksmtunedサービスを有効にします。# systemctl enable ksm Created symlink /etc/systemd/system/multi-user.target.wants/ksm.service/usr/lib/systemd/system/ksm.service # systemctl enable ksmtuned Created symlink /etc/systemd/system/multi-user.target.wants/ksmtuned.service /usr/lib/systemd/system/ksmtuned.service
- ホスト上の仮想マシンのパフォーマンスとリソース消費を監視して、KSM を有効にすることによる利点を評価します。具体的には、KSM による CPU 使用率の増加によってメモリーの改善が相殺されないこと、および別のパフォーマンスの問題が発生しないことを確認します。レイテンシーの影響を受けやすいワークロードでは、NUMA 間のページマージにも注意してください。
オプション: KSM によって仮想マシンのパフォーマンスが向上しない場合は、無効にします。
KSM を単一セッションの間だけ無効にするには、
systemctlユーティリティーを使用してksmおよびksmtunedサービスを停止します。# systemctl stop ksm # systemctl stop ksmtunedKSM を永続的に無効にするには、
systemctlユーティリティーを使用してksmおよびksmtunedサービスを無効にします。# systemctl disable ksm Removed /etc/systemd/system/multi-user.target.wants/ksm.service. # systemctl disable ksmtuned Removed /etc/systemd/system/multi-user.target.wants/ksmtuned.service.注記KSM を無効化する前に仮想マシン間で共有されていたメモリーページは、引き続き共有されたままになります。共有を停止するには、以下のコマンドを使用して、システムの
PageKSMページをすべて削除します。# echo 2 > /sys/kernel/mm/ksm/runただし、このコマンドはメモリー使用量を増加させ、ホストまたは仮想マシンでパフォーマンスの問題を引き起こす可能性があります。