2008年 5月 27日 火曜日
やっぱり Sun がスキ!
CPU 負荷生成ツール nspin の紹介
今回は、CPU 負荷生成ツール nspin を紹介します。
サーバの仮想化環境を構築し、CPU のリソース割り当てに対して期待通りに 動作するか確認したい時、なにかしらのプログラムを利用して CPU に負荷を かけるテストを行うと思います。
そんな時、今回紹介する nspin がとても役立ちます。
[インストール方法]
Step.1
まずは nspin のアーカイブを下記 URL よりダウンロードして展開して下さい。
http://www.sun.com/bigadmin/software/nspin/nspin.tar.gz
Step.2
nspin.tar.gz ファイルを展開すると、下記ファイルが現れます。
# ls nspins.gz nspinx.gz readme.txtStep.3
動作するマシンが SPARC 版の場合は nspis.gz 、x86版の場合は nspinx.gz を 解凍し、ファイルに実行権を付与します。
(例) SPARC版の設定
# gzip -d nspins.gz # chmod 777 nspinsこれでインストールは終了です。
[使用方法]
それでは早速使ってみましょう。
今回は、Solaris Containers の Zone に 4 CPU 分の Pool を割り当ててテスト してみました。
nspin の引数を何も指定しないで実行した場合、nspin のプロセスが 1 つ 無限ループで起動します。
# ./nspins # ps -e | grep nspins 14221 console 0:08 nspins # mpstat 5 .... CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 24 0 0 0 6 0 0 5 0 0 0 0 100 0 0 0 25 0 0 2 2 0 2 0 0 0 0 93 0 0 0 100 26 0 0 0 33 0 64 0 0 0 0 17 0 0 0 100 27 0 0 0 2 0 2 0 0 0 0 1 0 0 0 100 ....
負荷をかけるプロセスが 1 つだけでは 4 CPU 環境の場合、全ての CPU リソース を使い切る事ができません。
そこで、4 CPU 全てに対して負荷を生成する場合、nspin では -n オプションで同時に 起動するプロセス数を指定する事が可能です。
今回は、4 CPU なので、同時に 4 プロセス起動してみました。
# ./nspins -n 4 # ps -e | grep nspins 14226 console 0:18 nspins 14225 console 0:18 nspins 14228 console 0:18 nspins 14227 console 0:18 nspins # mpstat 5 .... CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 24 1 0 2 17 0 21 16 0 0 0 100 100 0 0 0 25 0 0 0 19 0 23 18 0 0 0 6 100 0 0 0 26 0 0 0 18 0 23 17 0 0 0 6 100 0 0 0 27 0 0 0 8 0 3 7 0 0 0 1 100 0 0 0 ....
上記結果より、4CPU 全てのリソースが 100% 使用している事が確認できました。
さらに -s オプションでシステムコールを多く発行して usr だけでなく sys の割合を増やして 実行する事も可能です。
# ./nspins -n 4 -s # mpstat 5 .... CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 24 0 0 0 9 0 2 8 0 3 0 613828 70 30 0 0 25 1 0 1 8 0 1 8 0 2 0 614967 70 30 0 0 26 0 0 0 40 0 64 39 0 2 0 615484 70 30 0 0 27 0 0 0 10 0 4 9 0 2 0 611706 70 30 0 0 ....
最後に紹介するオプションは、-d オプションにて実行する時間(秒)を指定する方法です。
# ./nspins -d 30
[まとめ]
nspin は、CPU の負荷を生成するツールで、同時に起動できるプロセス数が指定でき る為、マルチ CPU 環境のテストにも簡単に対応できます。
単に CPU に負荷をかけるデモを行うだけでなく、仮想化環境で CPU 負荷が高い時、システムがどのよう な動作をするか確かめたい場合に nspin を使用すると、とても便利です。
Posted at 05:30午後 5 27, 2008 by Naoyuki Yamada in Sun | 投稿されたコメント[0]
投稿されたコメント: