トミリュウ・コムホームTestお問い合わせご協力ありがとうございました。↓Linux上で、開発したプログラムやスクリプトのレスポンスを検証する際に、それらが動いている時の、CPU負荷、メモリ消費量、ディスクI/Oなどがどうなっているのかを把握して、どこがボトルネックとなっているのかを知ることは重要です。topコマンドでCPUやメモリの使用率を手軽にモニタリングすることができますので、このコマンドを使ってほぼリアルタイムに状況を確認することは可能です。レポーティングなどの目的で1秒間隔で時系列にCPU、メモリ、ディスクI/Oなどリソースの使用状況を出力するにはどうしたらよいでしょうか?そういう場合はvmstatコマンドを使用することができます。1と引数に1(秒)を与えてやると、1秒間隔でメモリ消費量、ディスクI/O、CPU使用率などの情報を1行ずつ表示してくれます。$0}'とやると、時刻も表示してくれます。することでvmstatの結果をタイムスタンプ付きで時系列データとして出力することができます。0・・・・・このデータをエクセルに持っていってグラフ化するマクロを作成してレポートする、といったことも可能です。それぞれに関してポイントを以下に記したいと思います。(単位はディフォルトでKバイト)freeの値が純粋な空きメモリの量。swapdが仮想メモリの量なので、この値が時系列で見て激しく変化するようであればスワップ・イン、スワップ・アウトが発生しているので、メモリネックとなっていると言えます。値で表示されています。カーネルコード以外の実行に使用したCPUの使用率ですので、この値が時系列に見て常に高い値だと、CPUネックになっていると言えます。ひどい時はこの値が常に100近くになっているという場合もあります。逆にidが示す値がアイドル時間なのでidが高い値を示しているのであればCPUは大丈夫(余裕がある)といえます。【ディスクI/O】bi(ブロック・イン)、bo(ブロック・アウト)の値で見ます。CPUやメモリには余裕があって、この値が高い値を示す時はディスクI/Oがネックとなっている、言い換えると、CPUやメモリは余裕があるのでディスクI/Oにレスポンス改善の余地があると見ることができます。