sarコマンドでシステムの情報を取得する
ubuntuで試してます。
sarが使えない場合はインストール
$ sudo apt-get install sysstat
実行
単純にsarだけ実行するとエラーになりました。
記録してあるログからシステムの情報を読み出そうとして、ログがないのでエラーになっている模様。
$ sar /var/log/sysstat/sa07 を開けません: そのようなファイルやディレクトリはありません Please check if data collecting is enabled in /etc/default/sysstat
出力されたとおり、/etc/default/sysstatのENABLEDをtrueすると、10分に一回システムの情報をログに残すようになります。
# Should sadc collect system activity informations? Valid values # are "true" and "false". Please do not put other values, they # will be overwritten by debconf! #ENABLED="false" ENABLED="true"
取得間隔については、/etc/cron.d/sysstatに設定があります。
The first element of the path is a directory where the debian-sa1 # script is located PATH=/usr/lib/sysstat:/usr/sbin:/usr/sbin:/usr/bin:/sbin:/bin # Activity reports every 10 minutes everyday 5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1 # Additional run at 23:59 to rotate the statistics file 59 23 * * * root command -v debian-sa1 > /dev/null && debian-sa1 60 2
ログが残っていればsarでそのログを参照することができます。
また設定を変更して常時記録するようにしなくても、以下のようにinterval(やcount)を指定すると、実行したタイミングからシステムの情報を取得することができます。
$ sar [オプション] [ interval [ count ] ]
5秒毎に1000回取得する例。オプションを指定していないのでcpu情報を取得する
$ sar 5 1000
結果
21時52分00秒 CPU %user %nice %system %iowait %steal %idle 21時52分05秒 all 0.00 0.00 0.00 0.00 0.00 100.00
明示的にcpu情報を指定する場合は-uを指定
ディスクIO
- bを指定
$ sar -b 5 1000
結果
21時59分54秒 tps rtps wtps bread/s bwrtn/s 21時59分55秒 0.00 0.00 0.00 0.00 0.00
メモリ
- rを指定
$ sar -r 5 1000
結果
22時05分03秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit 22時05分04秒 248332 131508 34.62 12224 98016 49996 3.35 22時05分05秒 248332 131508 34.62 12224 98016 49996 3.35
プロセス
$ sar -q 5 1000
結果
22時05分52秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 22時05分53秒 0 83 0.00 0.00 0.00 22時05分54秒 0 83 0.00 0.00 0.00
オプションは他にもいろいろある
sar(1) - Linux man page
各実行結果の見方についてはこちらのサイトが日本語で詳しかったです。
Linux研究所 » sarコマンドの見方