トップ  >  CentOS  >  パフォーマンス分析ツール

パフォーマンス分析ツール

パフォーマンス分析ツールについて

  • vmstat

    vmstat 間隔 回数
    基本はこの使い方です。間隔部分さえ使えばあとはCtrl+Cなどで止めるまで取りつづけてくれます
    1秒間隔で取得し続ける

    VM モードにおけるフィールドの説明
       Procs
           r: ランタイム待ちのプロセス数
           b: 割り込み不可能なスリープ状態にあるプロセス数
    
       Memory
           swpd: 仮想メモリの量。
           free: 空きメモリの量。
           buff: バッファに用いられているメモリの量。
           cache: キャッシュに用いられているメモリの量。
           inact: アクティブでないメモリの量 (-a オプション)。
           active: アクティブなメモリの量 (-a オプション)。
    
       Swap
           si: ディスクからスワップインされているメモリの量 (/s)。
           so: ディスクにスワップしているメモリの量 (/s)。
    
       IO
           bi: ブロックデバイスから受け取ったブロック (blocks/s)。
           bo: ブロックデバイスに送られたブロック (blocks/s)。
    
       System
           in: 一秒あたりの割り込み回数。クロック割り込みも含む。
           cs: 一秒あたりのコンテキストスイッチの回数。
    
       CPU
           これらは CPU の総時間に対するパーセンテージである。
           us: カーネルコード以外の実行に使用した時間 (ユーザー時間、nice 時間を含む)。
           sy: カーネルコードの実行に使用した時間 (システム時間)。
           id: アイドル時間。Linux 2.5.41 以前では、IO 待ち時間を含んでいる。
           wa: IO 待ち時間。Linux 2.5.41 以前では、0 と表示される。
           st: 仮想マシンから盗まれた時間。Linux 2.6.11より前では未知。
    
    $ vmstat 1
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
     r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
     0  0      0 882464  50960  28896    0    0     0     1    5    4  0  0 100  0  0
     0  0      0 882456  50960  28916    0    0     0     0   23   10  0  0 100  0  0
     0  0      0 882456  50960  28916    0    0     0     0    8    5  0  0 100  0  0
     0  0      0 882456  50960  28916    0    0     0     0    9    7  0  0 100  0  0
     0  0      0 882456  50968  28912    0    0     0    36   13   20  0  0 100  0  0
     0  0      0 882456  50968  28916    0    0     0     0   10    8  0  0 100  0  0
    

    ※AIXでは出来るんですが、時間表示ができないのが残念です。
    いろいろやって、表示させることもできるんですが、処理が入る結果負荷が上がってしまい、正確に負荷が取れなかったため、個人的には断念しました。

    ○メモリ分析
    freeコマンドで見るとmemの所を食いつぶしているように見えますが、必ずしもメモリが足りてないというわけではありません。
    vmstat -aオプションを利用して、freeとinactの合計を見てみましょう

    $ vmstat -a
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
     r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
     0  0      0 696060  99708 167208    0    0     0     1    5    4  0  0 100  0  0
    
    そもそも足りている環境ですが、参考までに。

     

  • dstat

    オプション次第で色々できるやつ。
    色もついて見栄えも助かる~
    オプションを色々付けて回してみるとこんな感じ。色は付けてません…

    # dstat -tmscldrn
    ----system---- ------memory-usage----- ----swap--- ----total-cpu-usage---- ---load-avg--- -dsk/total- --io/total- -net/total-
      date/time   | used  buff  cach  free| used  free|usr sys idl wai hiq siq| 1m   5m  15m | read  writ| read  writ| recv  send
    01-06 13:30:31| 640M  122M 2993M  204M|2328k 3070M|  0   0  94   6   0   0|   0    0    0|8195k  156k| 200  31.0 |   0     0 
    01-06 13:30:32| 640M  122M 2993M  204M|2328k 3070M|  0   0  99   1   0   0|   0    0    0|   0   104k|   0  26.0 | 256B 1430B
    01-06 13:30:33| 640M  122M 2993M  204M|2328k 3070M|  0   1  97   2   0   0|   0    0    0|   0   912k|   0   228 |  40B  522B
    01-06 13:30:34| 640M  122M 2993M  204M|2328k 3070M|  1   0  99   0   0   0|   0    0    0|   0   128k|   0  32.0 |  40B  522B
    01-06 13:30:35| 643M  122M 2993M  201M|2328k 3070M|  1   0  99   1   0   0|   0    0    0|  16k  128k|4.00  32.0 | 312B  765B
    01-06 13:30:36| 642M  122M 2993M  202M|2328k 3070M|  2   1  94   3   1   0|   0    0    0| 208k  872k|52.0   218 | 193B  538B
    01-06 13:30:37| 642M  122M 2993M  202M|2328k 3070M|  0   0 100   0   0   0|   0    0    0|   0   112k|   0  28.0 |  40B  538
    

    横切れちゃってますが、こんな感じで色々見えます。
    時間の順があれですが、tをTに変えるとUNIX時間、すなわち1970年1月1日 0時0分0秒からの経過秒数になります。
    ロードアベレージやら何やらまとめてみたいって方は良いかもです。
    オプションもたくさんありますが時間あれば追加していきます。

  • 今後の予定。
    nmonとかmpstat等を追加していく予定
プリンタ用画面
友達に伝える
前
SELinuxを無効化
カテゴリートップ
CentOS
次
tcpdumpによるパケットキャプチャ