新PCのパフォーマンス
新しい環境が使えるようになったので,
まず,
表2 テストした各PCのスペック
製造年 | CPU | Memory | |
---|---|---|---|
Xeon機 | 2004 | Xeon 2. | ECC付き DDR2 3Gバイト |
Athlon機 | 2006 | Athlon64 X2 4400+ | ECC無し DDR2 2Gバイト |
Corei7機 | 2010 | Corei7 870 | ECC無し DDR3 16Gバイト |
この3台のPCで,
計測は,
実際のコンパイル作業の前にはmake cleanを実行して既存のオブジェクトファイル等を削除しておき,
カーネルコンパイルにかかった時間の平均値はこのような結果となりました。
表3 linux-2.
Xeon機 | 2670秒 |
Athlon機 | 1864秒 |
Corei7機 | 442秒 |
この結果を見ると,
Corei7機のコンパイル中の様子を top コマンドで眺めると,
図5 8CPUが並列処理している様子
% top top - 12:31:30 up 13:57, 5 users, load average: 6.94, 2.39, 1.07 Tasks: 259 total, 9 running, 250 sleeping, 0 stopped, 0 zombie Cpu0 : 90.7%us, 6.3%sy, 0.0%ni, 3.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu1 : 90.3%us, 5.0%sy, 0.0%ni, 4.0%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st Cpu2 : 88.4%us, 9.0%sy, 0.0%ni, 2.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu3 : 90.7%us, 7.3%sy, 0.0%ni, 2.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu4 : 91.0%us, 6.3%sy, 0.0%ni, 2.0%id, 0.7%wa, 0.0%hi, 0.0%si, 0.0%st Cpu5 : 90.1%us, 6.3%sy, 0.0%ni, 3.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu6 : 89.3%us, 7.7%sy, 0.0%ni, 3.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Cpu7 : 94.7%us, 3.3%sy, 0.0%ni, 2.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 16626776k total, 8376620k used, 8250156k free, 413796k buffers Swap: 48837596k total, 0k used, 48837596k free, 6883180k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 26708 kojima 20 0 40904 34m 4580 R 27 0.2 0:00.80 cc1 26721 kojima 20 0 25960 20m 4860 R 19 0.1 0:00.58 cc1 26772 kojima 20 0 24632 18m 4736 R 10 0.1 0:00.31 cc1 26791 kojima 20 0 23564 16m 2612 R 9 0.1 0:00.26 cc1 5051 root 20 0 363m 183m 106m S 6 1.1 10:49.16 X 26796 kojima 20 0 19056 11m 2452 R 5 0.1 0:00.16 cc1 11683 kojima 20 0 346m 148m 29m S 5 0.9 11:06.57 firefox-bin 26808 kojima 20 0 14400 7100 2416 R 2 0.0 0:00.06 cc1 5295 kojima 20 0 126m 29m 17m S 2 0.2 0:55.56 konsole
ディストリビューションの開発といった作業をしていると,
もうひとつ,
本連載でも紹介したように,
カーネルコンパイル同様,
表4 P-Plamoのsquashfsを作成するのに要した時間
Xeon機 | 2242秒 |
Athlon機 | 1583秒 |
Corei7機 | 387秒 |
興味深いことに,
この結果は恐らく,
Linuxカーネルのソースコードは並列コンパイルが効くように調整されており,
図6 8CPUでmksquashfs実行中
$ time mksquashfs squashfs-root squashfs.img Parallel mksquashfs: Using 8 processors Creating 4.0 filesystem on squashfs.img, block size 131072. [=/ ] 5053/237425 2%
そのように考えると,
むしろコアあたりの性能向上が限界に近づいてきたので,
一方,
以上,
また,