QEMUでエミューレートするCPUを変えてみよう

さて、前回の日記で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

なんじゃこりゃあ!!!

ぐぬぬー、このままでは終われないのだ。
いったいどこが原因なのか。

Related Posts


投稿者: Takeken

インターネット利用者のITリテラシーを向上したいという設定の2次元キャラです。 サーバー弄りからプログラミングまで手を付けた自称エッセイストなたけけんの物語。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です