専用システムでの完全なワークロードの測定

専用システムの使用が理想的な状態です。システム・オーバーヘッドだけでなく、個々のプロセスのコストも含む測定値を使用できるからです。

システム・アクティビティーの大部分について総合的なシステム・パフォーマンスを測定する際には、 以下の vmstat コマンドを使用します。
# vmstat 5 >vmstat.output
これにより、測定の実行中 5 秒ごとにシステムの状態が表示されます。 vmstat 出力の最初のセットには、 最後のブートから vmstat コマンドの開始までの累積データが含まれます。 残りのセットは、前の間隔 (このケースでは 5 秒) の結果です。 システム上の vmstat 出力は一般に、次のようになります。
kthr     memory             page              faults        cpu
----- ----------- ------------------------ ------------ -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
 0  1 75186   192   0   0   0   0    1   0 344 1998 403  6  2 92  0
CPU およびディスク・アクティビティーを測定する際には、以下の iostat コマンドを使用します。
# iostat 5 >iostat.output
これにより、測定の実行中 5 秒ごとにシステムの状態が表示されます。 iostat 出力の最初のセットには、 最後のブートから iostat コマンドの開始までの累積データが含まれます。 残りのセットは、前の間隔 (このケースでは 5 秒) の結果です。 システム上の iostat 出力は一般に、次のようになります。
tty:      tin         tout   avg-cpu:  % user    % sys     % idle    % iowait
          0.0          0.0              19.4      5.7       70.8       4.1

Disks:        % tm_act     Kbps      tps    Kb_read   Kb_wrtn
hdisk0           8.0      34.5       8.2         12       164
hdisk1           0.0       0.0       0.0          0         0
cd0              0.0       0.0       0.0          0         0
メモリーを測定するには、svmon コマンドを使用します。 svmon -G コマンドを使用すると、総合的なメモリー使用の状況が表示されます。 統計情報は 4 KB ページ単位です。
# svmon -G

               size      inuse       free        pin    virtual
memory        65527      65406        121       5963      74711
pg space     131072      37218

               work       pers       clnt        lpage
pin            5972          0          0            0
in use        54177       9023       2206            0
この例では、マシンの 256 MB メモリーが完全に使用されています。 RAM の約 83% は、実行中プログラムの作業セグメントであり、読み取り/書き込みメモリーに使用されます (残りはキャッシング・ファイル用です)。 長時間実行されるプロセスがある場合は、そのメモリー所要量を詳細に検討することができます。 以下の例では、ユーザーのプロセス hoetzel が使用するメモリーを判別します。
# ps -fu hoetzel
     UID   PID  PPID   C    STIME    TTY  TIME CMD
 hoetzel 24896 33604   0 09:27:35  pts/3  0:00 /usr/bin/ksh
 hoetzel 32496 25350   6 15:16:34  pts/5  0:00 ps -fu hoetzel

# svmon -P 24896

------------------------------------------------------------------------------
     Pid Command        Inuse      Pin     Pgsp  Virtual   64-bit    Mthrd    LPage
   24896 ksh             7547     4045     1186     7486        N        N        N

  Vsid     Esid Type Description           LPage   Inuse   Pin Pgsp Virtual
     0        0 work kernel seg                -    6324  4041 1186  6324
6a89aa        d work shared library text       -    1064     0    0  1064
72d3cb        2 work process private           -      75     4    0    75
401100        1 pers code,/dev/hd2:6250        -      59     0    -     -
 3d40f        f work shared library data       -      23     0    0    23
16925a        - pers /dev/hd4:447              -       2     0    -     -

作業セグメント (5176) は 4 ページを使用しており、ksh プログラムのこのインスタンスのコストになります。 共用ライブラリーのコストである 2619 ページはすべての実行中プログラムに分散し、ksh プログラムのコスト 58 ページはすべての実行中プログラムと ksh プログラムのすべてのインスタンスにそれぞれ分散しています。

256 MB のシステムが必要なサイズより大きいと考える場合は、rmss コマンドを使用してマシンの実効サイズを縮小し、 ワークロードを測定し直します。 ページングが著しく増加するか、応答時間が低下する場合は、メモリーを減らしすぎています。 この手法は、ワークロードを低下させずに実行できるサイズが検出されるまで、継続することができます。 この手法について詳しくは、rmss コマンドによるメモリー所要量の評価を参照してください。

ネットワークの使用率を測る基本コマンドは、netstat プログラムです。 以下の例は、特定のトークンリング・インターフェースのアクティビティーを示しています。
# netstat -I tr0 5
   input    (tr0)     output            input   (Total)    output
 packets  errs  packets  errs colls   packets  errs  packets  errs colls
35552822 213488 30283693     0     0  35608011 213488 30338882     0     0
     300     0      426     0     0       300     0      426     0     0
     272     2      190     0     0       272     2      190     0     0
     231     0      192     0     0       231     0      192     0     0
     143     0      113     0     0       143     0      113     0     0
     408     1      176     0     0       408     1      176     0     0

このレポートの最初の行は、最後のブート以後の累積ネットワーク・トラフィックを示しています。 その後の各行は、前の 5 秒の間隔のアクティビティーを示します。