超便利!nmon for linux でOSのベンチマークをとる
むかしむかし、AIXを使っていたとき、なんでこんなに便利なツールがなぜlinuxにないのだと思っていたら、あった・・あったよ・・。
そもそも計測嫌いな私ですので、詳しくは説明できないのですが、linuxでいうところの、vmstatとか、iostatのまとめ版みたいな感じですね。個人的にこのnmonが好きだったのは、出力されたファイルを利用して、EXCELマクロにてグラフが作成できることでした。どのようなものかについては、とりあえずインストールしてみればわかるかと思いますので、手順を記載したいと思います。
OSは、CENTOS5 64bit で試してみました。
[設定手順]
ダウンロード http://nmon.sourceforge.net/pmwiki.php よりダウンロードします。コンパイルがめんどくさいのバイナリ版を選択しました。
セットアップは以下の方法になります・・・というかファイルダウンロードして実行権限つけるだけですね。セットアップはこれだけで完了です。
cd /usr/local/src wget http://nmon.sourceforge.net/docs/MPG_nmon_for_Linux_14a_binaries.zip unzip MPG_nmon_for_Linux_14a_binaries.zip chmod 775 nmon_x86_64_centos5 mkdir /usr/local/nmon cp nmon_x86_centos5 /usr/local/nmon/
それでは早速nmonを起動してみましょう!!
/usr/local/nmon/nmon_x86_centos5
以下のような画面が表示されるかと思います。
基本コマンドは以下の通りです。(IBMから抜粋) c ・・・プロセッサー毎のCPU使用率 m ・・・メモリー使用率情報(ページングを含む) d ・・・ディスクI/O数、転送量、ディスクビジー率 a ・・・ディスクアダプターのビジー率と転送量 n ・・・インターフェース毎のネットワーク転送量 t ・・・TOPプロセス情報 q ・・・nmonを終了
まあ、ちょっとおりこうさんな、topコマンドなのですが、私が好きなのは、そこではなく、EXCELからマクロで出力できちゃうところなのです。
前準備として・・・・
前準備として、以下のURLからnmonアナライザをダウンロードします。(解凍して任意の場所に保存しておいてください)
http://www.ibm.com/developerworks/wikis/download/attachments/53871868/nmon_analyser.zip?version=16
再びコンソールから以下のコマンドを実行します
/usr/local/nmon/nmon_x86_centos5 -f -s 10 -c 360 -t
各オプションの意味は、以下の通りになります。
/usr/local/nmon/nmon_x86_centos5 -f -s 10 -c 360 -t
-f : ファイル出力します -s : 10秒毎に計測します -c : 360回実行します -t : topプロセスの情報を出力します
オプション指定しない場合は、ファイルはカレントディレクトリに出力されます。デフォルトですと以下のような名前になります。
pwd /usr/local/src ll *.nmon -rw-r--r-- 1 root root 56783 7月 1 21:25 XXXXXX_110701_2116.nmon
この出力されているファイルを、EXCELファイルの読み込ませます。さきほどダウンロードしました、EXCELマクロを起動しますと、以下のようなボタンが表示されますので、まずはそこをクリックします。
上記で生成された *.nmon ファイルを選択します
生成したデータの保存先を指定してきますので、任意のディレクトリに保存してください
上記で保存したxlsファイルには、*.nmonのtopで収集した色々なデータが格納されております
すべてを説明すると、ものすごく長い説明になってしまうのでここでは割愛します。詳しくはヘルプをご覧いただけたらわかるかと思います。
また、上記のテストで出力された、xlsファイルを、以下においておきます。これでイメージをつかんでください。(といった感じで逃げました、ごめんなさい)
データベースや、webサーバ、色々な負荷計測に活用できますのでぜひとも使ってみてください!!!