Ubuntu 12.04を次のパラメーターで使用しています。
- デルR910
- カーネル3.2.0-25-generic#40-Ubuntu SMP x86_64 x86_64 x86_64 GNU / Linux
- kvm 1:84 + dfsg-0ubuntu16 + 1.0 + noroms + 0ubuntu13
- qemu-kvm 1.0 + noroms-0ubuntu13
- qemu-common 1.0 + noroms-0ubuntu13
- qemu-kvm 1.0 + noroms-0ubuntu13
- 4 x Intel(R)Xeon(R)CPU E7-4870 @ 2.40GHz(それぞれ10個の物理コア、HTおよびIntel VT対応)
- Windowsゲストには現在VirtIOがありませんが、すぐに変更されます
このマシンで複数のWindowsゲストを実行しています。そのうちの1つはWindows 2003 32ビットで、もう1つはWindows 2008(64ビット)です。現在、パフォーマンスの問題に取り組んでおり、CPUモデルをいじっています。
通常、Windows 32ビットゲストには「qemu-system-x86_64」を使用します。例:
/usr/bin/qemu-system-x86_64 -S -M pc-1.0 -cpu qemu32 -enable-kvm -m 4096 -smp 4,sockets=4,cores=1,threads=1 [...]
このゲストのパフォーマンスは少し低いことが判明しました。ベンチマークはまだ実行していませんが、CPUモデルを「-cpu qemu32」から「-cpu Nehalem」に切り替えると、VM内の1つのディレクトリから別のディレクトリへの大量のデータ(ファイル)のコピーがはるかに速くなるとしましょう「。コピーに約2時間40分かかったファイルは、40分以内にコピーされます。もちろん、これは高品質のテストではなく、より専門的な試みを行う余地があります。ただし、これは、正しいCPUモデルを選択するとゲストのパフォーマンスに大きな影響を与える可能性があることを明確に示しています。
今、私は興味を持って走りました:
qemu-x86_64 -cpu ?
x86 [n270]
x86 [athlon]
x86 [pentium3]
x86 [pentium2]
x86 [pentium]
x86 [486]
x86 [coreduo]
x86 [kvm32]
x86 [qemu32]
x86 [kvm64]
x86 [core2duo]
x86 [phenom]
x86 [qemu64]
そして:
kvm -cpu ?model
x86 Opteron_G3 AMD Opteron 23xx (Gen 3 Class Opteron)
x86 Opteron_G2 AMD Opteron 22xx (Gen 2 Class Opteron)
x86 Opteron_G1 AMD Opteron 240 (Gen 1 Class Opteron)
x86 Nehalem Intel Core i7 9xx (Nehalem Class Core i7)
x86 Penryn Intel Core 2 Duo P9xxx (Penryn Class Core 2)
x86 Conroe Intel Celeron_4x0 (Conroe/Merom Class Core 2)
x86 [n270] Intel(R) Atom(TM) CPU N270 @ 1.60GHz
x86 [athlon] QEMU Virtual CPU version 1.0
x86 [pentium3]
x86 [pentium2]
x86 [pentium]
x86 [486]
x86 [coreduo] Genuine Intel(R) CPU T2600 @ 2.16GHz
x86 [kvm32] Common 32-bit KVM processor
x86 [qemu32] QEMU Virtual CPU version 1.0
x86 [kvm64] Common KVM processor
x86 [core2duo] Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
x86 [phenom] AMD Phenom(tm) 9550 Quad-Core Processor
x86 [qemu64] QEMU Virtual CPU version 1.0
これらすべての異なるバージョンでは、推測するのが少し難しいです。「Nehalem」は、そのリストで最もパフォーマンスの高いもののようです。さて、どのCPUモデルがゲストに最適であるかをどのように判断するのでしょうか?インターネットを閲覧して、次のリソースを見つけました。
- http://rwmj.wordpress.com/2010/10/08/32-or-64-bit-virtual-cpu-in-kvm/
- http://www.linux-kvm.org/page/Tuning_KVM
それらのサイトを正しく読んだとき、「-cpu host」が最高のパフォーマンスをもたらす可能性があると主張しています。両方のKVMホストに同等の(まったく同じハードウェア)が装備されているため、移行の心配はまだありません。
それで、経験豊富なKVM管理者は何をお勧めしますか?「このモデルはそのゲストOSに最適です」のような、黄金律やマトリックスさえありますか?
自分でこの情報を見つけることができれば申し訳ありません。さまざまなGoogle検索を実行し、多くのWebサイトを閲覧しました。私の質問に答える何かを見つけることができませんでした。