作成者別アーカイブ: 赤び〜

UnixBench のインストール (CentOS 7)

Linux をはじめとする Unix 系 OS 環境のベンチマークツールとして、UnixBench があります。
CentOS 7 への UnixBench インストール手順と実行方法についてまとめています。

1. 必要なパッケージのインストール

UnixBench を実行するためには、少なくとも make、gcc、perl、perl-Time-HiRes が必要です。
インストールされていないパッケージがある場合、適宜インストールします。

なお、CentOS 7 を「ベーシック Web サーバ」でインストールした場合、gcc と perl-Time-HiRes のインストールが追加で必要でした。

1.1. make のインストール

インストール有無のチェック

# rpm -qa | grep make
make-3.82-21.el7.x86_64

インストール

# yum install make

1.2. gcc のインストール

インストール有無のチェック

# rpm -qa | grep gcc
gcc-4.8.2-16.2.el7_0.x86_64

インストール

# yum install gcc

1.3. perl-Time-HiRes のインストール

perl がインストールされていない場合、perl-Time-HiRes をインストールすることで依存パッケージとして自動的にインストールされます。

1.4. perl-Time-HiRes のインストール

インストール有無のチェック

# rpm -qa | grep perl-Time-HiRes
perl-Time-HiRes-1.9725-3.el7.x86_64

インストール

# yum install perl-Time-HiRes

2. UnixBench のインストール

2.1. UnixBench のダウンロード

開発元から UnixBench をダウンロードします。
本日時点の最新バージョンは UnixBench5.1.3.tgz (143,259 byte) でした。

ここでは wget を利用していますが、別途ダウンロードした tgz ファイルを scp 等で転送しても問題ありません。

# wget https://byte-unixbench.googlecode.com/files/UnixBench5.1.3.tgz

~ 略 ~

長さ: 143259 (140K) [application/x-gzip]
`UnixBench5.1.3.tgz' に保存中

100%[======================================>] 143,259      126KB/s 時間 1.1s   

2015-03-26 18:47:44 (126 KB/s) - `UnixBench5.1.3.tgz' へ保存完了 [143259/143259]

2.2. UnixBench のインストール

ダウンロードした UnixBench5.1.3.tgz を解凍すれば、UnixBench のインストールは完了です。

# tar xf UnixBench5.1.3.tgz
# ls -l
合計 144
drwxr-xr-x. 6 root root   4096  1月 18  2011 UnixBench
-rw-r--r--. 1 root root 143259  1月 18  2011 UnixBench5.1.3.tgz

3. UnixBench の実行

Run コマンドを実行することで UnixBench を実行可能です。

初回起動時はコンパイルが行われます。
make や gcc が未インストールの場合はエラーとなるので注意してください。

# cd UnixBench/
# ./Run
gcc -o ./pgms/arithoh -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall -Darithoh ./src/arith.c
gcc -o ./pgms/register -DTIME -Wall -pedantic -ansi -O2 -fomit-frame-pointer -fforce-addr -ffast-math -Wall -Ddatum='register int' ./src/arith.c

~ 略 ~

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark

   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 13, 2011                   johantheghost at yahoo period com

実行結果のイメージについては「サーバ環境とパフォーマンス (CentOS 7)」を参照してください。

[ END ]

サーバ環境とパフォーマンス (CentOS 7)

本ブログは、お名前.com VPS(KVM) 上に構築した CentOS 7 + WordPress で提供しています。
契約プランは「メモリ 2GBプラン」 (CPU 3コア、メモリ 2GB、HDD 200GB) です。

ContOS 7 インストール直後に UnixBench を利用してサーバ性能 (パフォーマンス) を計測してみました。
@see 「UnixBench のインストール (CentOS 7)

1. UnixBench 測定結果

比較対象は、MacBook Air Mid 2012 の VirtualBox 上に構築した ContOS 7 です。

テスト項目 お名前.com 【参考】MBA 2012
single multi single multi
Dhrystone 2 using register variables 3112.0 9213.4 1061.8 2093.1
Double-Precision Whetstone 823.9 2496.3 287.2 567.7
Execl Throughput 713.1 2540.6 133.9 323.8
File Copy 1024 bufsize 2000 maxblocks 3015.5 2364.7 856.4 1532.5
File Copy 256 bufsize 500 maxblocks 1937.7 1925.5 589.2 1024
File Copy 4096 bufsize 8000 maxblocks 5326.9 4146.2 1674.7 2929.1
Pipe Throughput 1361.2 4038.6 457.7 918.3
Pipe-based Context Switching 889.1 2244.6 9.3 108.8
Process Creation 707.6 2975.2 133.6 421.3
Shell Scripts (1 concurrent) 1634.1 3567.6 374.0 554.1
Shell Scripts (8 concurrent) 3485.7 3852.8 636.0 663.5
System Call Overhead 1776.4 2537.4 591.1 1009.5
System Benchmarks Index Score 1676.6 3172.0 344.1 741.5

2. 【参考】 サーバスペック

お名前.com 【参考】MBA 2012
OS CentOS 7 64bit CentOS 7 64bit
Kernel 3.10.0-123.el7.x86_64 3.10.0-123.20.1.el7.x86_64
CPU Intel(R) Core(TM)2 Duo T7700 Intel(R) Core(TM) i5-3427U
CPU Clock 2.40 GHz 1.80 GHz
CPU BogoMips 5200.0 4598.0
CPU 数 3 CPU 2 CPU
Memory 2 GB 2 GB
備考  お名前.com VPS(KVM) で稼働 VirtualBox 上で稼働

3. 【参考】 出力ログ

3.1. システム情報

お名前.com

BYTE UNIX Benchmarks (Version 5.1.3)

System: xxxxxxxxxxxxxxx: GNU/Linux
OS: GNU/Linux -- 3.10.0-123.el7.x86_64 -- #1 SMP Mon Jun 30 12:09:22 UTC 2014
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz (5200.0 bogomips)
       x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 1: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz (5200.0 bogomips)
       x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 2: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz (5200.0 bogomips)
       x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
21:31:49 up 36 min,  2 users,  load average: 0.08, 0.04, 0.05; runlevel 3

【参考】MBA 2012

BYTE UNIX Benchmarks (Version 5.1.3)

System: xxxxxxxxxxxxxxx: GNU/Linux
OS: GNU/Linux -- 3.10.0-123.20.1.el7.x86_64 -- #1 SMP Thu Jan 29 18:05:33 UTC 2015
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Intel(R) Core(TM) i5-3427U CPU @ 1.80GHz (4598.0 bogomips)
       Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 1: Intel(R) Core(TM) i5-3427U CPU @ 1.80GHz (4598.0 bogomips)
       Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
19:32:25 up  1:00,  2 users,  load average: 0.00, 0.01, 0.09; runlevel 3

3.2 同時処理数: Single

お名前.com

3 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       36316545.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     4531.6 MWIPS (9.9 s, 7 samples)
Execl Throughput                               3066.3 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks       1194126.1 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          320690.7 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       3089588.2 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1693381.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 355659.6 lps   (10.0 s, 7 samples)
Process Creation                               8916.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   6928.7 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   2091.4 lpm   (60.0 s, 2 samples)
System Call Overhead                        2664578.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   36316545.5   3112.0
Double-Precision Whetstone                       55.0       4531.6    823.9
Execl Throughput                                 43.0       3066.3    713.1
File Copy 1024 bufsize 2000 maxblocks          3960.0    1194126.1   3015.5
File Copy 256 bufsize 500 maxblocks            1655.0     320690.7   1937.7
File Copy 4096 bufsize 8000 maxblocks          5800.0    3089588.2   5326.9
Pipe Throughput                               12440.0    1693381.0   1361.2
Pipe-based Context Switching                   4000.0     355659.6    889.1
Process Creation                                126.0       8916.3    707.6
Shell Scripts (1 concurrent)                     42.4       6928.7   1634.1
Shell Scripts (8 concurrent)                      6.0       2091.4   3485.7
System Call Overhead                          15000.0    2664578.7   1776.4
                                                                   ========
System Benchmarks Index Score                                        1676.6

【参考】MBA 2012

2 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       12391006.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1579.4 MWIPS (10.0 s, 7 samples)
Execl Throughput                                575.8 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        339125.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           97512.2 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        971346.4 KBps  (30.0 s, 2 samples)
Pipe Throughput                              569399.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                   3722.0 lps   (10.0 s, 7 samples)
Process Creation                               1683.2 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1585.8 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    381.6 lpm   (60.1 s, 2 samples)
System Call Overhead                         886603.5 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   12391006.2   1061.8
Double-Precision Whetstone                       55.0       1579.4    287.2
Execl Throughput                                 43.0        575.8    133.9
File Copy 1024 bufsize 2000 maxblocks          3960.0     339125.5    856.4
File Copy 256 bufsize 500 maxblocks            1655.0      97512.2    589.2
File Copy 4096 bufsize 8000 maxblocks          5800.0     971346.4   1674.7
Pipe Throughput                               12440.0     569399.2    457.7
Pipe-based Context Switching                   4000.0       3722.0      9.3
Process Creation                                126.0       1683.2    133.6
Shell Scripts (1 concurrent)                     42.4       1585.8    374.0
Shell Scripts (8 concurrent)                      6.0        381.6    636.0
System Call Overhead                          15000.0     886603.5    591.1
                                                                   ========
System Benchmarks Index Score                                         344.1

3.3. 同時処理数: Multi

お名前.com

3 CPUs in system; running 3 parallel copies of tests

Dhrystone 2 using register variables      107519945.6 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    13729.5 MWIPS (9.7 s, 7 samples)
Execl Throughput                              10924.6 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        936415.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          318674.4 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       2404772.4 KBps  (30.0 s, 2 samples)
Pipe Throughput                             5023959.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 897831.7 lps   (10.0 s, 7 samples)
Process Creation                              37487.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                  15126.4 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   2311.7 lpm   (60.0 s, 2 samples)
System Call Overhead                        3806127.4 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  107519945.6   9213.4
Double-Precision Whetstone                       55.0      13729.5   2496.3
Execl Throughput                                 43.0      10924.6   2540.6
File Copy 1024 bufsize 2000 maxblocks          3960.0     936415.9   2364.7
File Copy 256 bufsize 500 maxblocks            1655.0     318674.4   1925.5
File Copy 4096 bufsize 8000 maxblocks          5800.0    2404772.4   4146.2
Pipe Throughput                               12440.0    5023959.3   4038.6
Pipe-based Context Switching                   4000.0     897831.7   2244.6
Process Creation                                126.0      37487.9   2975.2
Shell Scripts (1 concurrent)                     42.4      15126.4   3567.6
Shell Scripts (8 concurrent)                      6.0       2311.7   3852.8
System Call Overhead                          15000.0    3806127.4   2537.4
                                                                   ========
System Benchmarks Index Score                                        3172.0

【参考】MBA 2012

2 CPUs in system; running 2 parallel copies of tests

Dhrystone 2 using register variables       24426548.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     3122.6 MWIPS (9.9 s, 7 samples)
Execl Throughput                               1392.2 lps   (29.7 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        606868.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          169471.0 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1698888.7 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1142378.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  43534.5 lps   (10.0 s, 7 samples)
Process Creation                               5307.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2349.3 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    398.1 lpm   (60.2 s, 2 samples)
System Call Overhead                        1514276.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   24426548.5   2093.1
Double-Precision Whetstone                       55.0       3122.6    567.7
Execl Throughput                                 43.0       1392.2    323.8
File Copy 1024 bufsize 2000 maxblocks          3960.0     606868.0   1532.5
File Copy 256 bufsize 500 maxblocks            1655.0     169471.0   1024.0
File Copy 4096 bufsize 8000 maxblocks          5800.0    1698888.7   2929.1
Pipe Throughput                               12440.0    1142378.7    918.3
Pipe-based Context Switching                   4000.0      43534.5    108.8
Process Creation                                126.0       5307.9    421.3
Shell Scripts (1 concurrent)                     42.4       2349.3    554.1
Shell Scripts (8 concurrent)                      6.0        398.1    663.5
System Call Overhead                          15000.0    1514276.7   1009.5
                                                                   ========
System Benchmarks Index Score                                         741.5

[ END ]

Java アップデート後の Eclipse 設定変更 (Mac | OS X 10.10)

Eclipse インストール済みの環境に対して Java SE (JDK) をアップデートした場合、追加した Java SE (JDK) を Eclipse から利用可能なように設定を変更する必要があります。

ここでは Java SE 8u11 + Eclipse 4.4 の環境において、Java SE 8u25 にアップデート (追加インストール) した場合の例です。

1. JRE の追加

1.1. インストール済み JRE の確認

「環境設定」画面の「Java」-「インストール済みのJRE」を選択します。
追加した Java SE がリストに存在しない場合、「検索」ボタンまたは「追加」ボタンを選択します。

20141128_01

1.2. JRE の型

「JRE の型」画面で「MacOS X VM」を選択し、「次へ」ボタンを選択します。

20141128_02

1.3. JRE 定義

「JRE 定義」画面で「JRE ホーム」項目と「JRE 名」項目を入力し、「完了」ボタンを選択します。
ここでは

JRE ホーム  : /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
JRE 名  : Java SE 8 [1.8.0.25]

と入力しています。

20141128_03

1.4. デフォルト JRE 設定

「インストール済みの JRE」画面でチェックの入った Java SE (JDK) がデフォルトとなります。

20141128_04 20141128_05

(*) この設定値は Eclipse を実行する JRE とは異なります。

2. 実行環境の設定

2.1. 設定確認

「環境設定」画面の「Java」-「インストール済みのJRE」-「実行環境」を選択し、対象の実行環境 (ここでは「JavaSE-1.8」) に追加した Java SE (JDK) が存在していることを確認します。

20141128_06

2.2. デフォルト設定

デフォルトが異なっている場合は、対象の Java SE (JDK) をチェックし、「OK」ボタンを選択します。

20141128_07

3. ビルドパスの変更

3.1. ビルドパスの確認

プロジェクトのプロパティから「Java のビルドパス」を選択します。
「ライブラリー」タブから、そのプロジェクトが利用する Java SE (JDK) を確認できます。

20141128_08

3.2. ビルドパスの変更

JRE システムライブラリーが異なる場合、「編集」ボタンを選択します。
「ワークスペースのデフォルト JRE」を選択するか、「代替 JRE」から対象の JRE を選択して「完了」ボタンを選択します。

20141128_09

3.3. ビルドパスの登録

JRE システムライブラリーのバージョンが反映されていることを確認し、「OK」ボタンを選択します。

20141128_10

[ END ]