どうも、('A`)です。
えーと、特化型スレで色々とお問い合わせ頂いたのでご回答致します。
・〜E-Bananaサーバ構築日記〜を書いている人は /usr/src/UPDATING を読んでいるのでしょうか。
⇒ 今回「初めて」読みました。
・あ、current のGENERICをそのまま使ってんだったら、そりゃパフォーマンス出ないですよね。
⇒ はい。今回は「なんちゃってカーネル(名前だけ中身はGENERIC)」です。
・カーネルを再コンパイル・インストールしたか
⇒ はい。world(ユーザランドの再コンパイル)も併せて行っています。
・/etc/system や /boot/loader.conf にどんなものを特別に仕込んだか
⇒ こんな内容を設定しています。
・make.conf で CPUタイプの指定とか今回どんなふうにしてます?
⇒ make.confではカーネル&World再構築時は以下の2行のみ記載しています。
CPUTYPE=は書いていません。
/boot/loader.conf
-------------------------------------
kern.maxusers=512
accf_http_load="YES"
vm.pmap.pg_ps_enabled=1
-------------------------------------
/etc/sysctl.conf
-------------------------------------
security.bsd.see_other_uids=0
net.inet.tcp.rfc3042=1
net.inet.tcp.rfc3390=1
net.inet.icmp.icmplim=3000
net.inet.icmp.icmplim_output=0
net.link.ether.inet.log_arp_wrong_iface=0
vfs.lookup_shared=1
-------------------------------------
/etc/make.conf
-------------------------------------
CFLAGS= -O1 -fno-strict-aliasing -pipe
COPTFLAGS= -O1 -fno-strict-aliasing -pipe
-------------------------------------
で、コンフィグレーションファイルをよーく見てみたら、こんなのがついてました。
# Debugging for use in -current
options KDB # Enable kernel debugger support.
options DDB # Support DDB.
options GDB # Support remote GDB.
options INVARIANTS # Enable calls of extra sanity checking
options INVARIANT_SUPPORT # Extra sanity checks of internal structures,
required by INVARIANTS
options WITNESS # Enable checks to detect deadlocks and cycles
options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed
あー、これがついた状態だと能力うまく出ないんですね・・・トホホ。
なので、とりあえず修正したコンフィグレーションファイルを
使って社内サーバでカーネル再構築をもう一度行なっています。
今行っている作業はこういう作業を行っています。
1) cvsupで、8.0のソースを持ってくる。
*default host=cvsup.jp.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress
src-all
2) カーネルの再構築だけを行なう。
コンフィグレーションファイルはこの上記オプションを外したこのファイルを使います。
cd /usr/src
make -j4 buildkernel KERNEL=ATIGER6481
make installkernel KERNEL=ATIGER6481
3) カーネル再構築が終わったら、1回サーバを再起動する。
(新しいカーネルを反映させる。)
4) 今度はworldの再構築(make buildworld)を実施して、make installworldする。
cd /usr/src
make -j4 buildworld
make installworld
5) もう1度サーバを再起動する。
で、今は5)まで終えた状態でunixbenchを実行中です。
結果はどうなるかな・・・
作業しながら日記を更新するのはちょっとしんどかったりします。
あ、まだ本チャンのi7サーバには何もしていません。
(納品済みのサーバに対して勝手に作業などできませんから。)
結果が出ましたら、再度お知らせ致します。
それでは、また。
[追記 17:55]
今日記を書きながらスレを見ながらunixbenchを走らせています・・・
で、unixbenchが結果がでました。
===================================================================================
BYTE UNIX Benchmarks (Version 4.1.0)
System -- w44.maido3.cc
Start Benchmark Run: Thu Jul 30 08:02:02 UTC 2009
1 interactive users.
8:02AM up 36 mins, 1 user, load averages: 0.00, 0.00, 0.00
-r-xr-xr-x 1 root wheel 134264 Jul 30 07:22 /bin/sh
/bin/sh: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD),
dynamically linked (uses shared libs), for FreeBSD 8.0 (800106), stripped
/dev/ar0s1d 2026030 1234214 629734 66% /usr
Dhrystone 2 using register variables 10697661.8 lps (10.0 secs, 10 samples)
Double-Precision Whetstone 2341.1 MWIPS (10.0 secs, 10 samples)
System Call Overhead 449936.0 lps (10.0 secs, 10 samples)
Pipe Throughput 722580.7 lps (10.0 secs, 10 samples)
Pipe-based Context Switching 126947.6 lps (10.0 secs, 10 samples)
Process Creation 6394.3 lps (30.1 secs, 3 samples)
Execl Throughput 1869.6 lps (29.7 secs, 3 samples)
File Read 1024 bufsize 2000 maxblocks 732763.0 KBps (30.0 secs, 3 samples)
File Write 1024 bufsize 2000 maxblocks 155599.0 KBps (30.0 secs, 3 samples)
File Copy 1024 bufsize 2000 maxblocks 153855.0 KBps (30.0 secs, 3 samples)
File Read 256 bufsize 500 maxblocks 202377.0 KBps (30.0 secs, 3 samples)
File Write 256 bufsize 500 maxblocks 112422.0 KBps (30.0 secs, 3 samples)
File Copy 256 bufsize 500 maxblocks 70157.0 KBps (30.0 secs, 3 samples)
File Read 4096 bufsize 8000 maxblocks 1847753.0 KBps (30.0 secs, 3 samples)
File Write 4096 bufsize 8000 maxblocks 68799.0 KBps (30.0 secs, 3 samples)
File Copy 4096 bufsize 8000 maxblocks 68655.0 KBps (30.0 secs, 3 samples)
Shell Scripts (1 concurrent) 682.9 lpm (60.2 secs, 3 samples)
Shell Scripts (8 concurrent) 107.5 lpm (60.3 secs, 3 samples)
Shell Scripts (16 concurrent) 53.8 lpm (60.3 secs, 3 samples)
Arithmetic Test (type = short) 1453805.6 lps (10.0 secs, 3 samples)
Arithmetic Test (type = int) 1478025.5 lps (10.0 secs, 3 samples)
Arithmetic Test (type = long) 380831.7 lps (10.0 secs, 3 samples)
Arithmetic Test (type = float) 1081485.1 lps (10.0 secs, 3 samples)
Arithmetic Test (type = double) 598938.7 lps (10.0 secs, 3 samples)
Arithoh 265821806.4 lps (10.0 secs, 3 samples)
C Compiler Throughput 1431.8 lpm (60.2 secs, 3 samples)
Dc: sqrt(2) to 99 decimal places 172160.7 lpm (30.1 secs, 3 samples)
Recursion Test--Tower of Hanoi 100190.4 lps (20.1 secs, 3 samples)
INDEX VALUES
TEST BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 10697661.8 916.7
Double-Precision Whetstone 55.0 2341.1 425.7
Execl Throughput 43.0 1869.6 434.8
File Copy 1024 bufsize 2000 maxblocks 3960.0 153855.0 388.5
File Copy 256 bufsize 500 maxblocks 1655.0 70157.0 423.9
File Copy 4096 bufsize 8000 maxblocks 5800.0 68655.0 118.4
Pipe Throughput 12440.0 722580.7 580.9
Pipe-based Context Switching 4000.0 126947.6 317.4
Process Creation 126.0 6394.3 507.5
Shell Scripts (8 concurrent) 6.0 107.5 179.2
System Call Overhead 15000.0 449936.0 300.0
=========
FINAL SCORE 367.7
===================================================================================
以前の結果と比べるとこんな感じです。すこしスコアが上がりました。
TEST BETA2 BETA2改 7.2R
Dhrystone 2 using register variables 917.9 916.7 921.4
Double-Precision Whetstone 425.6 425.7 419.7
Execl Throughput 231.6 434.8 435.7
File Copy 1024 bufsize 2000 maxblocks 254.4 388.5 390.9
File Copy 256 bufsize 500 maxblocks 174.5 423.9 385.6
File Copy 4096 bufsize 8000 maxblocks 116.5 118.4 118.8
Pipe Throughput 387.6 580.9 634.4
Pipe-based Context Switching 242.8 317.4 338.0
Process Creation 246.0 507.5 466.7
Shell Scripts (8 concurrent) 134.3 179.2 1657.8
System Call Overhead 220.9 300.0 410.6
========= ========= =========
FINAL SCORE 256.9 367.7 462.2
|
終わり次第、スレで書かれている以下の行のコメント化をして
もう一度カーネルを作ってみます。
makeoptions DEBUG=-g
えーと、スレを見ながらリアルタイム更新するのは大変ですが、gccの件報告します。
こんな感じで表示されます。
w44# uname -a
FreeBSD w44.maido3.cc 8.0-BETA2 FreeBSD 8.0-BETA2 #0: Thu Jul 30 06:18:50 UTC 2009
root@w44.maido3.cc:/home/service/obj/usr/src/sys/ATIGER6481 amd64
w44# gcc -v
Using built-in specs.
Target: amd64-undermydesk-freebsd
Configured with: FreeBSD/amd64 system compiler
Thread model: posix
gcc version 4.2.1 20070719 [FreeBSD]
w44#
|