AIXで性能を調べたときのメモ

タグ:

AIXというUnixに限るかもしれないが、vmstat、iostat、netstat、および sar コマンドなどがあるらしい。


vmstat

vmstatを5秒ごとに2回実行した結果例

# vmstat 5 2<br />kthr     memory             page              faults        cpu<br />----- ----------- ------------------------ ------------ -----------<br /> r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa<br /> 0  1 75318   142   0   0   0   0    0   0 299 1845 315  5  2 93  0<br /> 0  1 75318   141   0   0   0   0    0   0 626 4949 842  8  6 87  0

vmstat コマンド (CPU)


vmstat コマンド (メモリ)

# vmstat 2 10<br />kthr     memory             page              faults        cpu<br />----- ----------- ------------------------ ------------ -----------<br /> r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa<br /> 1  3 113726   124   0  14   6 151  600   0 521 5533 816 23 13  7 57<br /> 0  3 113643   346   0   2  14 208  690   0 585 2201 866 16  9  2 73<br /> 0  3 113659   135   0   2   2 108  323   0 516 1563 797 25  7  2 66
  • memory
    • avm・・・avm (アクティブ仮想メモリ)
    • fre・・・空きメモリ・ページの平均数
  • page
    • pi・・・ページング・スペースからページインされるページの数 (率)
    • po・・・ページング・スペースにページアウトされるページの数 (率)
    • fr・・・その間隔中に、ページ置換アルゴリズムによって解放された1秒当たりのページ数
    • sr・・・その間隔中に、ページ置換アルゴリズムによって調べられた1秒当たりのページ数
    • cy・・・クロック・アルゴリズムのサイクル数 / 秒

svmon

svmon コマンドは、root ユーザのみが実行可能。引数は以下のものがある。

  • Global (-G)・・・システム全体で使用中の実メモリおよびページング・スペースを記述した統計情報を表示します。
  • Process (-P) ・・・アクティブ・プロセスのメモリ使用率統計情報を表示します。
  • Segment (-S) ・・・指定された数のセグメントの、またはトップ 10 個の高メモリ使用プロセスのメモリ使用率を降順で表示します。
  • Detailed Segment (-D) ・・・指定されたセグメントの詳細情報を表示します。
# svmon -G -i 2 5<br />       m e m o r y            i n  u s e            p i n        p g  s p a c e<br />  size inuse  free   pin   work  pers  clnt   work  pers  clnt     size   inuse<br /> 16384 16250   134  2006  10675  2939  2636   2006     0     0    40960   12674<br /> 16384 16254   130  2006  10679  2939  2636   2006     0     0    40960   12676
  • memory
    • size・・・メモリの合計サイズ (4 K ページ単位)。
    • inuse・・・RAM 内の、プロセスが使用しているページ数と終了したプロセスに属していて、まだ RAM にある永続ページの数を加えた数。
    • free・・・フリー・リスト上のページの数。
    • pin・・・RAM に固定されているページの数
  • in use
    • work・・・RAM 内の作業ページの数。
    • pers・・・RAM 内の永続ページの数。
    • clnt・・・RAM 内のクライアント・ページの数
  • pin
    • work・・・RAM 内の固定された作業ページの数。
    • pers・・・RAM 内の固定された永続ページの数。
    • clnt・・・RAM 内の固定されたクライアント・ページの数。
  • pg space
    • size・・・ページング・スペースの合計サイズ (4 K ページ単位)。
    • inuse・・・割り当てられたページの合計数。

上位3個のプロセスのメモリ使用率統計情報を表示する場合。

# svmon -Pau 3<br /><br />  Pid                         Command        Inuse        Pin      Pgspace<br />15012                     maker4X.exe         4783       1174         4781<br /> 2750                               X         4353       1178         5544<br />15706                            dtwm         3257       1174         4003

ps

個々のプロセスのメモリ使用率のモニタにも使用できます。 ps v PID コマンドは、次のように、個々のプロセスのメモリ関連の統計情報の最も広範囲の報告を提供します。

  • ページ・フォールト
  • タッチされた作業セグメントのサイズ
  • メモリ内の作業セグメントとコード・セグメントのサイズ
  • テキスト・セグメントのサイズ
  • 常駐セットのサイズ
  • このプロセスで使用される実メモリの割合
# ps v<br />   PID    TTY STAT  TIME PGIN  SIZE   RSS   LIM  TSIZ   TRS %CPU %MEM COMMAND<br /> 36626  pts/3 A     0:00    0   316   408 32768    51    60  0.0  0.0 ps v
  • PGIN・・・ページ・フォールトが原因で起こったページインの数
  • SIZE・・・プロセスのデータ・セクションの K バイト単位の仮想サイズ
  • RSS・・・プロセスの実メモリ (常駐セット) サイズ (K バイト)
  • TSIZ・・・テキスト (共用プログラム) イメージのサイズ
  • TRS・・・テキストの常駐セット (実メモリ) のサイズ
  • %MEM・・・プロセスが使用しようとする実メモリのパーセンテージ

iostat

iostatを5秒ごとに2回実行した結果例

# iostat 5 2<br /><br />tty:      tin         tout   avg-cpu:  % user    % sys     % idle    % iowait<br />          0.0          0.5               5.2      1.8       92.7       0.3<br />                " Disk history since boot not available. "<br /><br /><br />tty:      tin         tout   avg-cpu:  % user    % sys     % idle    % iowait<br />          0.0         41.4               8.1      5.5       84.2       2.2<br /><br />Disks:        % tm_act     Kbps      tps    Kb_read   Kb_wrtn<br />hdisk0           7.1      28.4       6.9          0       144<br />hdisk1           0.0       0.0       0.0          0         0<br />cd0              0.0       0.0       0.0          0         0

iostatコマンド


netstat

netstatを実行した結果例

# netstat -I tr0 5<br />    input   (tr0)      output           input   (Total)    output<br /> packets  errs  packets  errs colls  packets  errs  packets  errs colls<br />  725227     0   445748     0     0   799996     0   520517     0     0<br />       0     0        0     0     0        0     0        0     0     0<br />       2     0        0     0     0        2     0        0     0     0<br />CTRL C

sar

sarを5秒ごとに2回実行した結果例

# sar -P ALL 5 2<br /><br />AIX rugby 3 4 00058033A100    12/01/99<br /><br />11:17:41 cpu    %usr    %sys    %wio   %idle<br />11:17:46  0        0       0       0     100<br />          1        0       0       0     100<br />          2        0       0       0     100<br />          3        0       0       0     100<br />          -        0       0       0     100<br />11:17:51  0        0       0       0     100<br />          1        0       0       0     100<br />          2        0       0       0     100<br />          3        0       0       0     100<br />          -        0       0       0     100<br /><br />Average   0        0       0       0     100<br />          1        0       0       0     100<br />          2        0       0       0     100<br />          3        0       0       0     100<br />          -        0       0       0     100

sar コマンド


参考

IBM AIXのマニュアル

参考

LPI認定試験レベル1の試験範囲を網羅し、2009年春の大幅改訂(リリース3)に対応した学習書。
「201試験」「202試験」に対応。LPICレベル2取得に必要な2科目を網羅。

コメントする


画像の中に見える文字を入力してください。

Mike Cohn (著), マイク コーン (著), 安井 力 (翻訳), 角谷 信太郎 (翻訳)
採用した現在のタイトルは、見積りや計画づくりといったプロセスを、アジャイルに進めなければならないと謳っているのだ。見積りと計画づくりがアジャイルでないのに、プロジェクトがアジャイルであるということはありえない。

メアリー・ポッペンディーク (著), トム・ポッペンディーク (著), 高嶋 優子 (翻訳), 天野 勝 (翻訳), 平鍋 健児 (翻訳) 「トヨタ生産方式」を源流にする「リーン開発」をソフトウエア開発に取り入れるための具体的方法を紹介した本です。製造分野から始まったリーン活動は、その原則を理解しないままプラクティスだけを開発分野に適用しようとしても、行き詰るか失敗に終わってしまいます。本書は、リーンの7大原則を「価値」「ムダ」「スピード」「人」「知識」「品質」「パートナー」に整理し、ソフト開発現場にどうしたら効果的に適用できるかを、多くの実例を交えながら具体的に説明します。

著者:Yugui 税込 2,310 円
本書は、他言語でのプログラミング経験を持つ人を対象に、Rubyの特徴、Rubyならではの方法や慣習について解説します。これはRubyの資料を読んで実践的な学習を進めていくために必要な前提知識です。本書はRubyの基礎的な部分とメタクラスやブロック構文のような独自の概念、それらにまつわる文化を説明し、Ruby特有の考え方を知ってもらうことを目的としています。

本書は、Railsの入門からリファレンスまでをわかりやすく解説した書籍です。第1部と第2部では、Railsの背景にある概念について説明し、あっという間に簡単なオンラインストアを開発してみせます。

著者:James Shore, Shane Warden アジャイル開発は人のなせる技である。アジャイル開発を極めるためには、その時々で無数の可能性を評価して最善の方策を選択することを学ぶ必要がある。本書は、あなたがアジャイル開発の「道」を極める手助けをしたい。

daipresents!! ҂̑蕨

tWn{github tWn{Google Code