LinuCレベル3 プラットフォームスペシャリスト 仮想化基盤の構築 問34
仮想化基盤の構築/仮想化技術の動作原理と最適化KVM環境でのKSM(Kernel Samepage Merging)に関する説明として、正しいものをすべて選べ。
当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「仮想化基盤の構築」に対応。実際の試験問題ではありません)
- AKSMは複数の仮想マシンのメモリを走査して同一内容のページを検出し、Copy-on-Write方式で共有することで物理メモリの使用量を削減できる
- B/sys/kernel/mm/ksm/run に 1 を書き込むとKSMが有効になり、ksmdカーネルスレッドがページのスキャンと共有を開始する
- CKSMはCopy-on-Writeを使わずにページを共有するため、有効化すると仮想マシン間のメモリ隔離が失われる
- D透過的ヒュージページ(THP)のページはKSMの共有対象にならないため、THP無効化によってKSMが有効に機能する場合がある
正解:A、B、D
解説
KSM(Kernel Samepage Merging)は、ksmdスレッドがプロセスのメモリを走査して内容が同一のページを見つけ、Copy-on-Write(COW)方式でそれらを1つの物理ページに統合するカーネル機能です。書き込み時にはCOWによりページが分離されるため、仮想マシン間のメモリ隔離は維持されます。有効化は /sys/kernel/mm/ksm/run に 1 を書き込むことで行い、ksmtuned デーモンが空きメモリの状況に応じてスキャン頻度を自動調整します。透過的ヒュージページ(THP)が作成する 2MB の大きなページはKSMの走査対象外なので、THPを無効化(khugepaged の停止や thp=never 設定)するとKSMが処理できるページが増え、効果が高まる場合があります。
選択肢ごとの解説
- A正しい。KSMは同一内容のページをCOW方式で共有し、多数のVMが同じOSイメージを使う環境で物理メモリを大幅に節約できます。
- B正しい。/sys/kernel/mm/ksm/run への書き込みでKSMを制御します。0 で停止、1 で有効、2 で新規登録なしで既存共有のみ維持します。
- C誤り。KSMはCopy-on-Writeを使ってページを共有するため、いずれかのVMがページに書き込むと専用の物理コピーが作成され、メモリ隔離は維持されます。
- D正しい。THPが作成する 2MB ページはKSMの走査対象にならないため、THP を無効にすると KSM が処理できる 4KB ページが増え、デdup効果が高まります。