以前書いた予定通りCPUを載せ替えしてみました。
ついでにシャドウベイに9cmFANを追加しました。
Intel Core 2 Quad Q6600(G0ステップ)
65nm/TDP95W/FSB1066MHz/2.4GHz/キャッシュ8MB/4コア
KAMA-FLEX9cm SA0925FDB12M (2000rpm)
Core2Quad Q6600搭載後の消費電力は、
電源投入直後=>最大256W
FreeBSD loginプロンプト=>134W
ZFS上でddを1個起動=>186W
ZFS上でbzip2圧縮を4個起動=>198W
Core2Quad Q6600にしたらkvmが足りなくなりました(汗)
とりあえずシングルモードでkmem_sizeを下げて起動、
カーネルコンフィグを以下のように修正しました。
もし起動しなくなったらブートローダから手動で設定するか、
シングルモードで変更します。
↓のKVAは2KB/ページです。
Kernel CONFIG
include PAE options KVA_PAGES=1152 nomakeoptions NO_MODULES makeoptions MODULES_OVERRIDE="opensolaris zfs" device iscsi_initiator
/boot/loader.conf
vm.kmem_size_max="1536M" vm.kmem_size="1536M" vfs.zfs.arc_max="512M" vfs.zfs.vdev.cache.size="20M"
フリーメモリの確認
# sysctl -a | grep kvm vm.kvm_free: 253751296 vm.kvm_size: 2415915008
さっそくportsにあるbenchmarks/unixbenchを使って確認してみました。
オリジナルのExpress5800/110GeとCPU換装後の110Geと
参考にPentium4/2.2GHzで過去にとったデータです。
換装後にかけたZFS上でのdd結果もあわせて置いておきます。
見ての通りCore2ベースのCeleronならPentium4など余裕で勝てます。
マルチコアであきらかに向上してるのがわかるのが「Shell Scripts (8 concurrent)」(8プロセス並列実行)逆に下げたのが「Pipe-based Context Switching」ですね。
Q6600/ZFS raidz2(used 242GB) 書込 164.6MB/s 読込 326.6MB/s
RAID5/6の処理は重いですから、そういうのが必要ならCPU換装は有意義でしょう。
ハードウェアRAIDやソフトウェアミラーリングならCeleronでも十分使えると思う。
少なくともNetBurstのPentium4/DやCeleron300番台のマシンを置き替えるにはCPU換装前でも十分なスペックです。(消費電力的にも)
どうしてもシングルコアが気になるなら、
Pentium Dual-Core E2180 (2GHz/FSB800MHz/キャッシュ1MB/2コア)
Celeron Dual-Core E1400 (2GHz/FSB800MHz/キャッシュ512KB/2コア)
あたりを流用すれば安上がりにできると思う。
もちろんCPUを新規に買えるなら、
Pentium Dual-Core E5200(45nm/2.5GHz/FSB800MHz/キャッシュ2MB/2コア)
で決まりでしょうけど。
FreeBSD 7.1 Celeron 430 1.8GHz(FSB800MHz)
INDEX VALUES TEST BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 7486225.1 641.5 Double-Precision Whetstone 55.0 1393.2 253.3 Execl Throughput 43.0 1475.9 343.2 File Copy 1024 bufsize 2000 maxblocks 3960.0 40582.0 102.5 File Copy 256 bufsize 500 maxblocks 1655.0 10889.0 65.8 File Copy 4096 bufsize 8000 maxblocks 5800.0 135959.0 234.4 Pipe Throughput 12440.0 553194.4 444.7 Pipe-based Context Switching 4000.0 163170.9 407.9 Process Creation 126.0 5515.3 437.7 Shell Scripts (8 concurrent) 6.0 319.0 531.7 System Call Overhead 15000.0 393876.6 262.6 ========= FINAL SCORE 284.2
FreeBSD 7.1 C2Q Q6600 2.4GHz(FSB1066MHz)
INDEX VALUES TEST BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 10259315.6 879.1 Double-Precision Whetstone 55.0 1884.9 342.7 Execl Throughput 43.0 2296.9 534.2 File Copy 1024 bufsize 2000 maxblocks 3960.0 62334.0 157.4 File Copy 256 bufsize 500 maxblocks 1655.0 16523.0 99.8 File Copy 4096 bufsize 8000 maxblocks 5800.0 214088.0 369.1 Pipe Throughput 12440.0 773740.0 622.0 Pipe-based Context Switching 4000.0 129334.0 323.3 Process Creation 126.0 5957.7 472.8 Shell Scripts (8 concurrent) 6.0 1176.1 1960.2 System Call Overhead 15000.0 539478.0 359.7 ========= FINAL SCORE 414.8
FreeBSD 7.0 Pentium4 2.2GHz(FSB400MHz)
INDEX VALUES TEST BASELINE RESULT INDEX Dhrystone 2 using register variables 116700.0 3613977.9 309.7 Double-Precision Whetstone 55.0 808.0 146.9 Execl Throughput 43.0 241.2 56.1 File Copy 1024 bufsize 2000 maxblocks 3960.0 20026.0 50.6 File Copy 256 bufsize 500 maxblocks 1655.0 5179.0 31.3 File Copy 4096 bufsize 8000 maxblocks 5800.0 63677.0 109.8 Pipe Throughput 12440.0 257737.5 207.2 Pipe-based Context Switching 4000.0 80782.8 202.0 Process Creation 126.0 3264.5 259.1 Shell Scripts (8 concurrent) 6.0 99.0 165.0 System Call Overhead 15000.0 189032.5 126.0 ========= FINAL SCORE 123.3
# dd if=/dev/zero of=image4G.dat bs=64k count=64k 65536+0 records in 65536+0 records out 4294967296 bytes transferred in 24.878161 secs (172640062 bytes/sec) # dd of=/dev/null if=image4G.dat bs=64k count=64k 65536+0 records in 65536+0 records out 4294967296 bytes transferred in 12.542709 secs (342427409 bytes/sec)