Menu Close
Settings Close

Language and Page Formatting Options

17.6.5. カーネルの同一ページマージの管理

Kernel Same-Page Merging (KSM) は、仮想マシン (VM) 間で同一のメモリーページを共有することにより、メモリー密度を向上させます。ただし、KSM を有効にすると CPU 使用率が増加し、ワークロードによっては全体的なパフォーマンスに悪影響を与える可能性があります。

要件に応じて、単一のセッションに対して、または永続的に KSM を有効または無効にすることができます。

注記

RHEL 9 以降では、KSM はデフォルトで無効になっています。

前提条件

  • ホストシステムへのルートアクセス。

手順

  • KSM を無効にします。

    • KSM をセッション 1 回分無効にするには、systemctl ユーティリティーを使用して ksm サービスおよび ksmtuned サービスを停止します。

      # systemctl stop ksm
      
      # systemctl stop ksmtuned
    • KSM を永続的に無効にするには、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

KSM ページを匿名ページに置き換えると、khugepaged カーネルサービスは仮想マシンの物理メモリーに透過的なヒュージページを再ビルドします。

  • KSM を有効にします。
警告

KSM を有効にすると、CPU 使用率が増大し、CPU 全体のパフォーマンスに影響を及ぼします。

  1. ksmtuned サービスをインストールします。

    # yum install ksmtuned
  2. サービスを起動します。

    • 単一セッションで KSM を有効にするには、systemctl ユーティリティーを使用して ksm および ksmtuned サービスを開始します。

      # systemctl start ksm
      # systemctl start ksmtuned
    • KSM を永続的に有効にするには、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