はじめに
職場でシステムテストをしてくれと言われ、初めてvmstatコマンドを使って、サーバのCPUやらメモリやらをとったのでその時に覚えたことを備忘録的に残しておく。
やったこと
システムテストの一環で、サーバーの性能がどれくらいなのかを見るためにvmstatを使用した。
またエクセルでログをグラフ化した。
vmstatとは
vmstat」は仮想メモリやCPU、ディスクI/Oの統計情報を表示するコマンドです。
実行するとこんな感じでログをとってくれる。
## vmstatの見方
以下引用です。引用元は[こちら](https://qiita.com/s_suzaku/items/1d4dd297c454f0483c9b
)
| 表示項目 | 説明 |
|---|---|
| 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列に入っているので選択

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

4.ファイルの保存をする際に、CSV形式を選択し保存
エクセルでグラフ化
2.グラフ作成ボタンの押下
挿入タブの、グラフボタンを押下して作成したいグラフの形式を選択

参考資料



