vmstatの実行結果をmac版エクセルでグラフ化してみる


はじめに

職場でシステムテストをしてくれと言われ、初めてvmstatコマンドを使って、サーバのCPUやらメモリやらをとったのでその時に覚えたことを備忘録的に残しておく。

やったこと

システムテストの一環で、サーバーの性能がどれくらいなのかを見るためにvmstatを使用した。
またエクセルでログをグラフ化した。

vmstatとは

vmstat」は仮想メモリやCPU、ディスクI/Oの統計情報を表示するコマンドです。
実行するとこんな感じでログをとってくれる。
$vmstat

vmstatの見方

以下引用です。引用元はこちら

表示項目 説明
r 実行待ちプロセス数
b スリープ(割り込み可能)のプロセス数
swpd スワップサイズ(KB)
free 空きメモリ(KB)
buff バッファメモリサイズ(KB)
cache キャッシュメモリサイズ(KB)
si ディスクからスワップインされているメモリサイズ(KB/秒)
so ディスクへスワップアウトされているメモリサイズ(KB/秒)
bi ブロックデバイスから受け取ったブロック数(ブロック/秒)
bo ブロックデバイスに送られたブロック数(ブロック/秒)
in 割り込み回数/秒
cs コンテキストスイッチ回数/秒
us ユーザプロセスのCPU使用時間割合
sy カーネルの  〃
id CPUがアイドル状態の時間割合
wa CPUがI/O待ちの〃
st ゲストOSがCPUを割り当てられなかった時間の割合

ログをとってみる

以下をシェルスクリプトに記載してバックグラウンド実行した。
とりあえず3秒間隔で、ログをとる様に設定。コマンドの意味は後日追加する

shell
vmstat 3 | awk '{ print strftime("%Y/%m/%d %H:%M:%S"), $0 } {system("")}' >> $(date +%Y%m%d)_load_test_vm1.log

取得したログをグラフ化する

手順
- 取得したログをCSV形式に変換
- excelでグラフ化

取得したログをCSV形式に変換

エクセルを使って簡単に作れます。
1.見づらいですが、データがA列に入っているので選択

2.データテブを選択し、区切り位置のタブを選択

3.フィールドの区切り文字をスペースに変更する。

4.ファイルの保存をする際に、CSV形式を選択し保存

エクセルでグラフ化

1.CSV形式のデータを範囲選択

2.グラフ作成ボタンの押下
挿入タブの、グラフボタンを押下して作成したいグラフの形式を選択

3.グラフの軸を決定
横の軸、縦の軸を範囲選択する

作成した結果

参考資料