リソース(CPU,メモリなど)の過去の使用状況を確認できるコマンド
なにか障害が発生したときに状況を把握する為に使用します。
たしかLinuxでデフォルトでは入っていなかったと思います。
Fedoraでは以下のコマンドでインストールすることができます。
# yum install -y sysstat
/etc/cron.d/sysstatで10分に1回リソースの取得を行っています。
# cat /etc/cron.d/sysstat# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib/sa/sa1 -d 1 1
# 0 * * * * root /usr/lib/sa/sa1 -d 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib/sa/sa2 -A
簡易マニュアルです。
# sar -h
使い方: sar [ オプション... ] [ < 間隔 > [ < 回数 > ] ]
オプション:
[ -A ] [ -b ] [ -B ] [ -c ] [ -C ] [ -d ] [ -i < 間隔 > ] [ -p ] [ -q ]
[ -r ] [ -R ] [ -t ] [ -u ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ]
[ -I { <irq> | SUM | ALL | XALL } ] [ -P { <cpu> | ALL } ]
[ -n { DEV | EDEV | NFS | NFSD | SOCK | ALL } ]
[ -o [ < ファイル名 > ] | -f [ < ファイル名 > ] ]
[ -s [ <hh:mm:ss> ] ] [ -e [ <hh:mm:ss> ] ]
使用例
# sar -f /var/log/sa/sa01
Linux 2.6.27.15-170.2.24.fc10.i686 (localhost.localdomain) 2009年06月01日
20時28分52秒 LINUX RESTART
20時30分02秒 CPU %user %nice %system %iowait %steal %idle
20時40分01秒 all 0.62 0.00 1.41 1.15 0.00 96.82
20時50分01秒 all 0.38 0.00 0.86 0.13 0.00 98.64
21時00分01秒 all 0.25 0.00 0.81 0.08 0.00 98.85
21時10分01秒 all 0.41 0.00 1.02 0.03 0.00 98.55
21時20分01秒 all 0.21 0.00 0.69 0.01 0.00 99.10
21時30分02秒 all 7.50 0.00 10.53 1.96 0.00 80.01
21時40分01秒 all 0.41 0.00 0.97 0.02 0.00 98.59
21時50分01秒 all 0.56 2.46 3.83 4.99 0.00 88.16
22時00分01秒 all 0.28 0.00 0.77 0.54 0.00 98.42
22時10分01秒 all 0.24 3.97 3.32 8.72 0.00 83.75
22時20分01秒 all 0.87 16.80 53.56 1.30 0.00 27.48
平均値: all 1.06 2.05 6.87 1.72 0.00 88.30
/var/log/sa/saxxに1日分のデータが入っているので過去のデータを
確認したいときには、-fオプションで引数にデータファイルを指定します。
オプションなしではCPU使用率が確認できます。
# sar -B -f /var/log/sa/sa01
Linux 2.6.27.15-170.2.24.fc10.i686 (localhost.localdomain) 2009年06月01日
20時28分52秒 LINUX RESTART
20時30分02秒 pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff
20時40分01秒 55.75 10.81 142.96 0.54 47.48 0.00 0.00 0.00 0.00
20時50分01秒 4.61 1.62 6.18 0.04 2.00 0.00 0.00 0.00 0.00
21時00分01秒 1.75 4.42 58.55 0.02 15.53 0.00 0.00 0.00 0.00
21時10分01秒 0.02 5.73 56.54 0.00 14.11 0.00 0.00 0.00 0.00
21時20分01秒 0.00 0.99 3.40 0.00 2.06 0.00 0.00 0.00 0.00
21時30分02秒 96.59 20.67 805.66 0.94 391.10 24.41 10.31 27.80 80.05
21時40分01秒 0.13 1.24 10.60 0.00 7.19 0.00 0.00 0.00 0.00
21時50分01秒 156.37 17.98 309.54 0.28 119.22 25.77 1.82 22.84 82.75
22時00分01秒 1.99 2.08 9.44 0.01 8.48 1.65 0.75 2.39 99.58
22時10分01秒 535.10 70.33 88.60 0.29 234.29 105.78 50.39 148.76 95.26
22時20分01秒 38.08 38.86 13810.12 0.05 3388.07 0.00 0.00 0.00 0.00
平均値: 81.05 15.78 1338.93 0.20 371.79 14.37 5.77 18.40 91.36
-Bでページイン、アウトなどが確認できます。
# sar -r -f /var/log/sa/sa01
Linux 2.6.27.15-170.2.24.fc10.i686 (localhost.localdomain) 2009年06月01日
20時28分52秒 LINUX RESTART
20時30分02秒 kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad
20時40分01秒 36336 217724 85.70 9812 131212 2097144 0 0.00 0
20時50分01秒 28640 225420 88.73 10356 133536 2097144 0 0.00 0
21時00分01秒 25352 228708 90.02 10568 134556 2097144 0 0.00 0
21時10分01秒 24564 229496 90.33 10740 134560 2097144 0 0.00 0
21時20分01秒 24204 229856 90.47 10872 134572 2097144 0 0.00 0
21時30分02秒 28956 225104 88.60 9612 108752 2097092 52 0.00 4
21時40分01秒 28176 225884 88.91 9680 108816 2097092 52 0.00 4
21時50分01秒 3616 250444 98.58 22656 111520 2097040 104 0.00 4
22時00分01秒 3944 250116 98.45 18600 111212 2097040 104 0.00 4
22時10分01秒 53660 200400 78.88 1552 94516 2093656 3488 0.17 56
22時20分01秒 27620 226440 89.13 4360 114416 2093656 3488 0.17 56
平均値: 25915 228145 89.80 10801 119788 2096481 663 0.03 12
-rでメモリの使用量なんかが確認できます。
なかなか便利ですので、sysstatはインストールしたほうが
よいかなと思います。
ちなみにsysstatはsar以外にも便利なコマンドがありますので、
興味があれば調べてみてはいかがでしょうか。