カテゴリー別アーカイブ: Linux

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 ]

Java SE 7 (JDK 1.7.x) のインストール (CentOS 6.3 64bit)

過去の記事を最新情報で更新しました。
CentOS は 6.3 に、Java (JDK) は Java SE 7u21 (Java 7) に上がっています。

1. Java SE Development Kit (JDK) のダウンロード

Oracle (旧 Sun) のダウンロードページ Java SE Downloads から最新の JDK をダウンロードします。

JDK の「DOWNLOAD」ボタンを選択し、「Accept License Agreement」をチェックします。
64bit Linux 用の「Linux x64」は tar.gz 版と RPM 版がありますが、今回は RPM 版にしました。

本日時点の最新版は jdk-7u21-linux-x64.rpm (85,388,149 byte) でした。

2. Java SE Development Kit (JDK) のインストール

2.1. JDK のインストール

Java 6 の時代と異なり、rpm コマンドだけでインストールは完了します。

# rpm -ivh jdk-7u21-linux-x64.rpm
準備中...                ########################################### [100%]
   1:jdk                    ########################################### [100%]
Unpacking JAR files...
        rt.jar...
        jsse.jar...
        charsets.jar...
        tools.jar...
        localedata.jar...

2.2. JDK のインストール先

Java のモジュールは /usr/java 配下に展開されています。

$ ls -l /usr/java/
合計 4
lrwxrwxrwx. 1 root root   16  4月 22 20:12 2013 default -> /usr/java/latest
drwxr-xr-x. 8 root root 4096  4月 22 20:12 2013 jdk1.7.0_21
lrwxrwxrwx. 1 root root   21  4月 22 20:12 2013 latest -> /usr/java/jdk1.7.0_21

実態は /usr/java/jdk1.7.0_21 配下にインストールされていて、2つのリンク default と latest が作成されています。

3. alternatives 設定

(*) alternatives を使用していない場合 → @see 「4. 環境変数設定」

3.1. パスの確認

インストールしただけではパスが通っていないため Java 7 は動作しません。
事前に OpenJDK をインストールしていると、OpenJDK へのパスが有効なままです。

$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.8) (rhel-1.56.1.11.8.el6_3-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

このパスは /usr/bin 配下で定義されています。

$ ls -l /usr/bin/java*
lrwxrwxrwx. 1 root root 22  4月  6 16:38 2013 /usr/bin/java -> /etc/alternatives/java
lrwxrwxrwx. 1 root root 27  4月 22 20:12 2013 /usr/bin/javac -> /usr/java/default/bin/javac
lrwxrwxrwx. 1 root root 29  4月 22 20:12 2013 /usr/bin/javadoc -> /usr/java/default/bin/javadoc
lrwxrwxrwx. 1 root root 28  4月 22 20:12 2013 /usr/bin/javaws -> /usr/java/default/bin/javaws

java コマンドのみ /etc/alternatives/java へのリンクとなっているので、Java 7 にパスを通すには alternatives の設定を変更する必要があります。

3.2. alternatives 設定確認

alternatives コマンドで現在の設定を確認します。

# alternatives --display java
java -ステータスは自動です。                   
リンクは現在 /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java を指しています。
/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java - 優先項目 16000

~ 略 ~

現在の「最適」バージョンは /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java です。

/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java が 優先度 16000 で登録されていることが確認できます。

3.3. alternatives への Java 7 の追加

Java 7 もalternatives に追加します。

優先度は Java のバージョンが 7u21 (JDK1.7.0_21) なので 17021 とします。

# alternatives --install /usr/bin/java java /usr/java/default/bin/java 17021

alternatives のパラメータの意味は以下の通りです。

パラメータ1 : 登録するリンク ex.) /usr/bin/java
パラメータ2 : 登録先する名前 ex.) java
パラメータ3 : 実際に実行するパス ex.) /usr/java/default/bin/java, /usr/java/jdk1.7.0_21/bin/java
パラメータ4 : 優先度 ex.) 17021

3.4. alternatives 変更結果確認

alternatives コマンドで変更後の設定を確認します。

# alternatives --display java
java -ステータスは自動です。                   
リンクは現在 /usr/java/default/bin/java を指しています。
/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java - 優先項目 16000
/usr/java/default/bin/java - 優先項目 17021

~ 略 ~

現在の「最適」バージョンは /usr/java/default/bin/java です。

/usr/java/default/bin/java が 優先度 17021 で追加されました。
有効な java も優先度が一番高い /usr/java/default/bin/java となっています。

3.5. 使用する Java の変更

alternatives から使用する Java を切り替えることが可能です。

# alternatives --config java

2 プログラムがあり 'java' を提供します。

  選択       コマンド
-----------------------------------------------
   1           /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
*+ 2           /usr/java/default/bin/java

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:

「+」が現在使用中の Java、「*」が優先度が一番高い Java です。

3.6. 動作確認

java -version コマンドで alternatives が正しく設定されているかを確認します。

$ java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

4. 環境変数設定

Tomcat 等、環境変数「JAVA_HOME」を参照するアプリケーションを使用する場合は別途定義する必要があります。

~/.bash_profile へ追加

# Java home
export JAVA_HOME=/usr/java/default

ここで JAVA_HOME を /usr/java/default としているのは、将来、最新の JDK をインストールした場合でもパス設定を変更不要とするためです。

変更した ~/.bash_profile を有効化します。

$ source ~/.bash_profile

[ END ]

KVM環境 VNC から SPICE への変更

仮想環境に Xen を使用していた時はゲストマシンへの接続に VNC を使用していました。
その流れで Xen から KVM に移行後も VNC を使い続けていたのですが、最近 SPICE への切り替えを行いました。

1. VNC と SPICE の比較

VNC は RFB プロトコルを使用しているため、いくつか制限があります。
SPICE への切り替えを行ったのは、SPICE が VNC では実現できないマルチモニタに対応していたからです。

マルチモニタ対応以外にも VNC と比較して SPICE が優れていることがあります。

  • マルチモニタ対応
  • 動画再生支援
  • 音声対応
  • USB 対応
  • SSL 対応
  • ゲストマシン側の設定は必須ではない
    (*) 設定が必須なのはホストマシンのみ

赤び~は動画再生支援や音声転送こそ使いませんが、USB、SSL への対応も便利そうです。

デメリットとして、Mac OS X 用の SPICE クライアントが存在しないことです。
(*) Windows 用はすでに存在するようです。
@see 「SPICE - Download

2. SPICE のインストール

2.1. SPICE サーバのインストール

VNC と異なり、SPICE サーバは KVM のホストマシンへインストールします。
(*) VNC サーバはゲストマシン側にインストールする。

SPICE サーバがインストールされているか確認します。

# rpm -qa spice-server
spice-server-0.10.1-10.el6.x86_64

赤び~の環境では spice-server パッケージはインストール済でしたが、インストールされていない場合は yum からインストール可能です。

# yum install spice-server

~ 以下、略 ~

2.2. SPICE クライアントのインストール

ゲストマシンに接続するには SPICE クライアントが必要です。
今回は KVM ホストサーバにインストールしています。

SPICE クライアントがインストールされているか確認します。

# rpm -qa spice-client
spice-client-0.8.2-15.el6-x86_64

赤び~の環境では前述の spice-server と関連するパッケージしかインストールされていませんでした。

# rpm -qa spice-client
# yum list installed | grep spice
spice-glib.x86_64                      0.11-11.el6_3.1                  @updates
spice-gtk.x86_64                       0.11-11.el6_3.1                  @updates
spice-gtk-python.x86_64                0.11-11.el6_3.1                  @updates
spice-server.x86_64                    0.10.1-10.el6                    @base

spice-client パッケージも yum からインストール可能です。

# yum install spice-client

~ 略 ~

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 347 k
Installed size: 1.2 M

~ 略 ~

Installed:
  spice-client.x86_64 0:0.8.2-15.el6

Complete!

2.3. QLX デバイスドライバのインストール

ゲストマシンに QLX デバイスドライバをインストールすると、SPICE クライアントから使用する際の画面表示パフォーマンスが向上します。
(*) インストールしなくても動作します。

インストール有無を確認し、インストールされていなければ yum でインストールします。

ゲストマシン (CentOS 6.3) にインストール済

# rpm -qa xorg-x11-drv-qxl
xorg-x11-drv-qxl-0.0.14-14.el6_3.x86_64

ゲストマシン (Fedora 18) にインストール済

# rpm -qa xorg-x11-drv-qxl
xorg-x11-drv-qxl-0.0.22-5.20120718gitde6620788.fc18.x86_64

ゲストマシンに未インストール

# rpm -qa xorg-x11-drv-qxl
# yum install xorg-x11-drv-qxl

~ 以下、略 ~

(*) Windows 用のドライバも存在するようです。
@see 「SPICE - Download
@see 「Spice User Manual」-「6.1 Windows」

3. VNC から SPICE への変更

仮想マシンマネージャを起動し、ゲストマシンの起動パラメータを VNC から SPICE に変更します。

20130228_01

「適用」ボタンを選択すると、SPICE への変更と agent channel の追加を確認するダイアログが表示されるので「はい」を選択します。

20130228_02

変更後は「ディスプレイ」メニューに「TLS Port」項目が追加されます。

20130228_03

また、「Channel」メニューと「Controller Virtio Serial」メニューも新しく追加されています。

20130228_04 20130228_05

4. SPICE クライアントからの接続

spicec コマンドを使用して起動済みのゲストマシンに接続します。

$ spicec -h 127.0.0.1 -p 5900

アドレス (-h パラメタ) とポート (-p パラメタ) は仮想マシンマネージャの「ディスプレイ」メニューから確認可能です。
「ポート」が「自動割り当て」となっている場合、「5900」が割り当てられています。

また、-f パラメタを指定するとフルスクリーンで表示されます。

接続後は VNC 使用時と同様に使用可能です。

20130228_06 20130228_07

[ END ]