Hack 96. Sar コマンド

sar コマンドは sysstat パッケージに含まれています。
sysstat がインストールされているか確認してください。
システム上に sar がインストールされていない場合、Sysstat プロジェクトから取得してください。

sar はすばらしいモニタリングツールで、次のものを含むすべてのリソースのパフォーマンスデータを表示します。
CPU、メモリ、IO、ページング、ネットワーク、中断などです。

sar はパフォーマンスデータを収集し、レポート(表示)し、保存します。
それぞれ3つの動作を個別にみてみましょう。

Sadc - System activity data collector

/usr/lib/sadc (System activity data collector) コマンドは
指定した間隔でシステムデータを収集します。
1日単位のアクティビティデータファイルを使用します。
これは /va/log/sa/sa[dd] にあり、dd は現在日です。

Sa1 シェルスクリプト

/usr/lib/sa1 は /usr/lib/sadcs のエイリアスです。
sa1 は以下に示すように crontab から実行されます。
必要に応じて5分おきか15分おきに実行します。
以下に示すように私は crontab で5分沖にスケジュールするようにしています。

*/5 * * * * root /usr/lib/sa/sa1 1 1

Sa2 シェルスクリプト

/usr/lib/sa2 はシェルスクリプトで /var/log/sa/sa[dd] ファイルに
日々のレポートを書き込みます。
dd は現在日です。真夜中に1日に1度だけ crontab から sa2 を実行してください。

# 59 23 * * * root /usr/lib/sa/sa2 –A

Note: /etc/cron.d/sysstat ファイルは sysstat パッケージに含まれています。
sa1 や sa2 のデフォルト値が含まれていて、適当に変更することができます。

sar コマンドを使用して CPU の統計を表示する

# sar –u
Linux 2.6.9-42.ELsmp (dev-db) 01/01/2009
12:00:01 AM CPU %user %nice %system %iowait %idle
12:05:01 AM all  3.70  0.00    0.85    0.00 95.45
12:10:01 AM all  4.59  0.00    1.19    0.06 94.16
12:15:01 AM all  3.90  0.00    0.95    0.04 95.11
12:20:01 AM all  4.06  0.00    1.00    0.01 94.93
12:25:01 AM all  3.89  0.00    0.87    0.00 95.23
12:30:01 AM all  3.89  0.00    0.87    0.00 95.23
Skipped..
Average:    all  4.56  0.00    1.00     0.15 94.29

Note: 個々の CPU ごとのパフォーマンスデータに分割する必要がある場合には、次のようにコマンドを実行します。

# sar -u -P ALL

ディスク IO 統計を表示する

# sar –d

Linux 2.6.9-42.ELsmp (dev-db) 01/01/2009
12:00:01 AM DEV tps rd_sec/s wr_sec/s
12:05:01 AM dev2-0 1.65 1.28 45.43
12:10:01 AM dev8-1 4.08 8.11 21.81 Skipped.. Average: dev2-0 4.66 120.77 69.45
Average: dev8-1 1.89 3.17 8.02
Display networking Statistics using sar command

# sar -n DEV | more

Linux 2.6.9-42.ELsmp (dev-db) 01/01/2009
12:00:01 AM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/
s rxmcst/s
12:05:01 AM lo 0.17 0.16 25.31 23.33 0.00 0.0
0 0.00
12:10:01 AM eth0 52.92 53.64 10169.74 12178.57 0.00 0.0
0 0.00

# sar -n SOCK |more

Linux 2.6.9-42.ELsmp (dev-db) 01/01/2009
12:00:01 AM totsck tcpsck udpsck rawsck ip-frag
12:05:01 AM 50 13 3 0 0
12:10:01 AM 50 13 4 0 0
12:15:01 AM 53 13 5 0 0