デフォルトはOFF。
KSMは Kernel Samepage Merging(またはkernel sharepage merging)の略で、カーネルがユーザプロセスのメモリをスキャンし、同じ内容があればマージしてメモリを節約する機能。
同一OSを複数起動する仮想環境ではかなり効果がある。
こんな感じで使う。設定は簡単。
■現在の状態を確認(実行されているか、いないか)
# ksmctl info
■ksmを開始する。
# ksmctl start npages sleep
npages 一回の走査でスキャンするページ数
sleep スキャンの間隔(ミリ秒??)
■ksmを停止する。
# ksmctl stop
という形で指定する。
使ってみた感じは以下。
■4つの仮想マシン(RHEL5.5 仮想メモリ1GB)を起動した状態のホストのメモリ状態が以下 [root@ml115g5-1 sections]# free total used free Mem: 8035680 1627576 6408104 -/+ buffers/cache: 1298064 6737616 Swap: 10223608 0 10223608 ■ksmを有効にする [root@ml115g5-1 sections]# ksmctl info flags 0, pages_to_scan 0, sleep_time 0 ← 未設定状態 [root@ml115g5-1 sections]# ksmctl start 50 5000 created scanner [root@ml115g5-1 sections]# ksmctl info flags 1, pages_to_scan 50, sleep_time 5000 ← 設定状態 ■5分ほど待った後のメモリ状態 [root@ml115g5-1 sections]# free total used free Mem: 8035680 1156148 6879532 -/+ buffers/cache: 825160 7210520 Swap: 10223608 0 10223608 使用量が減っているのが確認できると思う。 ■KSMの設定を永続化する。 コマンドラインからの有効化は一時的なものなので、再起動すると失われてしまう。 これを恒久設定にするには、rc.local等に記載しておくしかないような感じ(RHEL/CentOS5.5時点) 参考>> KSM内部解析 参考>> Using KSM (Kernel Samepage Merging) with KVM
KVM徹底入門 価格:3,444円(税込、送料別) |