KVM環境でMinixのビルド時間を計測

n7shiさんの日記(カーネルビルド時間)を参考に,
KVM環境だとどうかなーと思い,時間を計ってみました.

使ったPCの環境はこんな感じです.
CPUは「Intel(R) Core(TM)2 Duo CPU T9600 @ 2.80GHz」で,
カーネルは「Linux moonlight 2.6.33-rc5-tip+ #1 SMP PREEMPT Fri Jan 22 23:18:23 JST 2010 x86_64 GNU/Linux」これ.
KVMdebianqemu-kvmパッケージ(0.11.1+dfsg-1)です.

計測方法は,kvmのオプションに-no-kvmを付けた場合と,付けない場合の2通りで,各10回ずつカーネルをビルドしてます.

kvm有効でビルドした場合

kvm -hda minix3.img -boot c -m 256 -redir tcp:4444::80&
real user sys
6.53 1.25 5.28
7.48 1.21 5.83
7.03 1.20 5.81
7.78 1.36 5.25
7.91 1.11 6.06
7.00 1.08 5.53
6.86 1.10 5.71
6.95 1.03 0.46
7.03 1.11 5.91
7.85 1.08 6.11
  • no-kvmを付けてビルドした場合,
kvm -no-kvm -hda minix3.img -boot c -m 256 -redir tcp:4444::80&
real user sys
34.13 22.80 6.86
35.00 22.48 11.71
35.33 22.48 11.66
34.81 22.38 11.90
34.41 22.55 11.35
34.35 22.23 11.65
34.90 22.46 11.73
35.51 22.93 12.10
39.83 25.73 13.43
43.30 25.63 13.80

まぁ,予想通りというか・・・ "-no-kvm”を付けると圧倒的に遅くなります.
kvmが使える環境だけど,kvmでは問題があるような場合はともかく,あえて"-no-kvm"を付ける理由はなさそうです.

使ったスクリプトは,こちらです.

#!/bin/sh
cd /usr/src/tools

i=1
while test $i -le 10; do
	make clean 2>&1 > /dev/null
	time make image 2>&1 > /dev/null
	i=`expr $i + 1`
done

echo "Done."

exit 0

#n7shiさんに指摘していただいた箇所を直しました.