2009年10月22日木曜日

プロセッサが仮想化支援機能を持つか確認するには

Xenの完全仮想化やKVMを利用するためには、プロセッサ(CPU)の仮想化支援機能が必要です。

プロセッサの仮想化支援機能は2006年頃の製品から実装されるようになり、2007年以降に提供されたプロセッサのほとんどに搭載されています。一部の廉価なプロセッサでは実装されていない場合もあります。

x86系プロセッサに搭載されている仮想化支援機能は、プロセッサの種類やベンダにより違いがあります。



  • Intel製プロセッサの場合: VMX, VT-x

  • Intel製IA-64プロセッサの場合: VT-i

  • AMD製プロセッサの場合: SVM, AMD-V (Pacifica)


プロセッサの仮想化支援状況を確認する一番簡単かつ確実な方法は、Linux(ディストリビューションのインストールCDや1CD Linuxなどでもかまいません)で起動し、シェル上で下記のコマンドを実行し、確認することです。


# cat /proc/cpuinfo


■ Intel 製プロセッサの場合

Intel プロセッサの場合、 /proc/cpuinfo の flags 行にフラグ vmx が出力されていれば
VT-x がサポートされています。

[root@quad ~]# cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 23
model name      : Intel(R) Core(TM)2 Quad CPU    Q8400  @ 2.66GHz
(中略)
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
                  cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht 
                  tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est
                  tm2 cx16 xtpr lahf_lm
bogomips        : 5332.91
....


■ AMD 製プロセッサの場合

AMD 製プロセッサの場合、 /proc/cpuinfo の flags 行にフラグ svm が出力されていれば
AMD-V がサポートされています。


■ 対応プロセッサを利用しているのにフラグが立っていない場合は....


使用中のプロセッサが仮想化支援機能を持っているにも関わらず、これらのフラグが
表示されない場合、おもに以下の理由が考えられます。


  • BIOS設定上で仮想化機能の無効化されている(有効化されていない)

  • 下位仮想化技術やハイパーバイザによりマスクされている


  • Linuxカーネルがあまりにも古すぎて、仮想化支援機能を検出していない


■ 参考






0 件のコメント:

コメントを投稿