sar で収集したリソース使用情報が sadf コマンドで TSV として出力
(2014/8/6追記)
sar で収集したリソース使用情報が sadf コマンドで TSV として出力できる - 宮川拓の日記
↑全く知りませんでした
私がよく利用するoption (2013/8/6追記. よく忘れるので)
$ sar -r -s 00:00:00 -e 01:00:00 -f /var/log/sa/sa03
オプション | 内容 | 例 |
---|---|---|
-q | load average | $ sar -q |
-u | cpu使用率 | $ sar -u |
-b | I/O回数とデータ量 | $ sar -b |
-r | メモリとスワップ使用率 | $ sar -r |
-s | 開始時間 | $ sar -s 00:00:00 |
-e | 終了時間 | $ sar -e 03:00:00 |
-f | 日付 ※ | $ sar -f /var/log/sa/sa03 |
※「/etc/sysconfig/sysstat」に/var/log/sa/sa〜 の保持期間を最大31日設定可
最近では、dstat や htop もありますが...
vmstat, iostat, ifstat, netstat 等を統合した dstat や topコマンドの強化版 htopもありますが
http://htop.sourceforge.net/
DAG: Dstat: Versatile resource statistics tool
sarは過去に遡って調べられるので、スキ
sar (sysstat)は、cpu使用率やロードアベレージ、ディスクio等を表示できるコマンドです。
同様のコマンドにuptimeやvmstat、iostatがありますが、これらのコマンドと異なり、sarは過去に遡って表示できるので、
私の場合、過負荷が発生した場合、まずsarの出力結果を確認しています。
これまでにsarに関連するエントリは何度か書いていますが、installや使用方法等を一度、整理しておきます。
linuxチューニング (proc, sar, top でcpuボトルネックの調査)
└ http://d.hatena.ne.jp/end0tknr/20080626/1214473350
あくまで私なりの見方ですが...
主要オプション
-qオプション : 実行キュー長さと、ロードアベレージ
uptimeコマンドと、ほぼ同じですよね。
$ sar -q -e 07:00:00 00時00分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 00時10分01秒 6 365 1.00 1.02 1.00 00時20分01秒 6 355 1.07 1.02 1.00 00時30分01秒 6 355 1.00 1.00 1.00
runq-sz | 実行キューの長さ(実行待ちのプロセス数) |
---|---|
plist-sz | プロセス数リストにあるプロセスとスレッド数 |
ldavg-1 | 過去1分間のロードアベレージ |
ldavg-5 | 過去5分間のロードアベレージ |
ldavg-15 | 過去15分間のロードアベレージ |
-q(ロードアベレージ) を見る上でのポイント
ロードアベレージの上昇は
「他のプロセスの空き待ち(CPU負荷)」「ディスクIO待ち」が原因に考えられますが
- qオプションの結果だけで、これらは切り分けられません。
そこで、次に-uオプションでCPU使用率を確認します。
-uオプション : CPU使用率
$ sar -u -e 07:00:00 00時00分01秒 CPU %user %nice %system %iowait %steal %idle 00時10分01秒 all 6.23 0.00 0.05 0.00 0.00 93.71 00時20分01秒 all 6.34 0.00 0.06 0.00 0.00 93.61 00時30分01秒 all 6.23 0.00 0.04 0.00 0.00 93.72
%user | アプリケーション実行による |
---|---|
%nice | niceコマンドで優先度変更したアプリケーション実行による |
%system | カーネル実行による |
%iowait | CPUのディスクIO待ち状態(アイドル状態) |
%steal | ゲストOSのリソース要求にも関らず、割当てられなかった時間 |
%idle | CPUのディスクIO待ちを除くアイドル状態 |
※「%steal」は次のurlも参考になります。 http://d.hatena.ne.jp/mir/20080407/p1
-u(CPU使用率) を見る上でのポイント
%userが高い | アプリケーションに問題、またはメモリ不足の可能性 |
---|---|
%iowait | I/O装置の性能で、%systemも高い可能性があります |
-bオプション : I/Oの回数とデータ量
$ sar -b -e 07:00:00 00時00分01秒 tps rtps wtps bread/s bwrtn/s 00時10分01秒 7.10 0.00 7.10 0.00 178.17 00時20分01秒 6.46 0.00 6.46 0.00 239.59
tps | IOリクエスト数/秒 |
---|---|
rtps | read IOリクエスト数/秒 |
wtps | write IOリクエスト数/秒 |
bread/s | read IOリクエストのデータ量/秒(ブロック単位) |
bwrtn/s | write IOリクエストのデータ量/秒(ブロック単位) |
-rオプション : メモリとスワップの使用率
$ sar -r -e 07:00:00 00時00分01秒 kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad 00時10分01秒 19473932 13472512 40.89 635576 11255848 37728644 0 0.00 0 00時20分01秒 19477944 13468500 40.88 635684 11259608 37728644 0 0.00 0 00時30分01秒 19473524 13472920 40.89 635692 11263196 37728644 0 0.00 0
kbmemfree | メモリ空き容量(kb) |
---|---|
kbmemused | メモリ使用量(kb) |
%memused | メモリ使用率 |
kbbuffers | カーネルによるバッファとしての使用量(kb) |
kbcached | カーネルによるキャッシュとしての使用量(kb) |
kbswpfree | スワップ空き容量(kb) |
kbswpused | スワップ使用量(kb) |
%swpused | スワップ使用率 |
kbswpcad | キャッシュされたスワップメモリ量(kb) |
※ kbswpcad は次のurlも参考になります。 http://www.syboos.jp/linux/doc/sar-command.html
※ 実質メモリ使用量 = kbmemused - ( kbbuffers + kbcached )
日時を指定して実行
sarは /var/log/sa以下に日別logを持つので、開始時間(-s hh:mm:dd)や終了時間(-e hh:mm:dd)と合わせて次のように実行できます。
$ sar -r -s 00:00:00 -e 01:00:00 -f /var/log/sa/sa03 00時00分01秒 kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad 00時10分01秒 19911020 13035424 39.57 631856 10845236 37728644 0 0.00 0 00時20分01秒 19911804 13034640 39.56 631940 10845316 37728644 0 0.00 0 00時30分01秒 19912316 13034128 39.56 631940 10845384 37728644 0 0.00 0 00時40分01秒 19911132 13035312 39.57 631940 10845500 37728644 0 0.00 0 00時50分01秒 19911860 13034584 39.56 631940 10845564 37728644 0 0.00 0 平均値: 19911626 13034818 39.56 631923 10845400 37728644 0 0.00 0