さて、前回の日記でQEMUでエミューレートできるCPUが選択できるってことまで分かりました。
種類を変えることでFreeBSDのポテンシャルは上がるのでしょうか。
構築関連は過去日記へどうぞ
Scientific LinuxとKVMで仮想化環境を作る
Scientific Linux+KVMのネットワーク設定
KVMにゲストOSを追加した。
ところでどんなCPUが選択できるのかというと、コマンドで分かります。
[root@take ~]# qemu-kvm -cpu \? x86 Opteron_G5 AMD Opteron 63xx class CPU x86 Opteron_G4 AMD Opteron 62xx class CPU 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 Haswell Intel Core Processor (Haswell) x86 SandyBridge Intel Xeon E312xx (Sandy Bridge) x86 Westmere Westmere E56xx/L56xx/X56xx (Nehalem-C) 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 cpu64-rhel5 QEMU Virtual CPU version (cpu64-rhel5) x86 cpu64-rhel6 QEMU Virtual CPU version (cpu64-rhel6) x86 n270 Intel(R) Atom(TM) CPU N270 @ 1.60GHz x86 athlon QEMU Virtual CPU version 0.12.1 x86 pentium3 x86 pentium2 x86 pentium x86 486 x86 coreduo Genuine Intel(R) CPU T2600 @ 2.16GHz x86 qemu32 QEMU Virtual CPU version 0.12.1 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 0.12.1
ホストサーバーのCPUによるのか、QEMUのバージョンでここが変わるのかどうかはちょっと分からないけど、参考文献よりは多いです。
前回はpentium3で試したので今回はIntel Core 2 Duo P9xxx (Penryn Class Core 2)でいきます。
オプションの一部を書き換えて、ちゃんと仮想コア数も2個にして実行すべし。
--cpu Penryn \ --vcpus=2 \
インストールが終わったらCPUをチェックしてみよう。
しかしこうしていると、実習はとても楽しいけど、理屈も勉強しないと後々でめんどうなのである。
# sysctl hw.model hw.clockrate hw.model: Intel Core 2 Duo P9xxx (Penryn Class Core 2) hw.clockrate: 3093 # grep ^CPU /var/run/dmesg.boot CPU: Intel Core 2 Duo P9xxx (Penryn Class Core 2) (3093.04-MHz 686-class CPU)
うん、ちゃんと認識されている。
認識されているってのはちょっち変かな?でもとりあえずいけたのさ。
ではうにべんちだが、FreeBSDにはfetchが入ってるのでwgetをわざわざportから入れなくも良かったもよう。
だがしかし、なぜかRunが実行できない。ファイル名の横にアスタリスクが付いていて実行できないのさ。
よく分からんけど、何かが足りないんだと思う。めちゃくちゃ勘ですけども。
てことで、解決するかもしれないしwgetを入れてみようw
いっつあ本末転倒だが、まあいい。
・・・
ではmake cleanしてもう1回makeしてみたら、やっぱりアスタリスクは付いてたけどw
実行はできた。
のだが
驚くべき結果が!!
System Benchmarks Index Values BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 14828317.5 1270.6 Double-Precision Whetstone 55.0 2542.3 462.2 Execl Throughput 43.0 1220.2 283.8 File Copy 1024 bufsize 2000 maxblocks 3960.0 50025.9 126.3 File Copy 256 bufsize 500 maxblocks 1655.0 55494.2 335.3 File Copy 4096 bufsize 8000 maxblocks 5800.0 50224.6 86.6 Pipe Throughput 12440.0 1213771.7 975.7 Pipe-based Context Switching 4000.0 327765.8 819.4 Process Creation 126.0 1628.5 129.2 Shell Scripts (1 concurrent) 42.4 656.7 154.9 Shell Scripts (8 concurrent) 6.0 107.4 179.1 System Call Overhead 15000.0 666490.2 444.3 ======== System Benchmarks Index Score 309.7
なんじゃこりゃあ!!!
ぐぬぬー、このままでは終われないのだ。
いったいどこが原因なのか。