Linux sarコマンドあれこれ

sarコマンドについて少し調べたのでメモ。

sarコマンドとは?

Linuxでシステムの負荷状況などをモニタリングするコマンド。
主に以下の情報が取得できる。

 CPUが何に時間を使っていたか
 アプリ、カーネル、ディスクへの書き込み

  • メモリ使用率(空き容量、使用率、キャッシュ使用率など)
  • Disk負荷状況(read,write)
  • NW負荷状況(パケット送受信)

大まかな使いどころはこのぐらいかと。
調べてみると結構いろんな情報が見れるっぽい。
sysstatのバージョンによりけりなのだろうけど、
CPU温度、CPUクロック周波数なんかも見れるらしい。

ちょっと使ってみる

AWSのEC2インスタンスで試してみる。
Amazon Linuxだと標準で入っていないようなのでインストール。

$ sudo yum install sysstat

OSのバージョンの確認でつまずく。。

$ cat /etc/os-release
NAME="Amazon Linux AMI"
VERSION="2017.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2017.03"
PRETTY_NAME="Amazon Linux AMI 2017.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2017.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
sarコマンド実行

基本的には以下のようにコマンド実行。

sar <オプション> <情報取得間隔(秒)> <情報取得回数>

情報取得回数はなくても大丈夫。その場合はctrl + Cとかで止めるまで情報取得し続ける。

主なオプションは以下。
特にこだわりがなければ「-A」で取得しておけば間違いない。

オプション 内容
-A 全ての情報を取得
-P ALL CPUの情報
-r メモリの情報
-n DEV ネットワークの情報
-d ディスクの情報
-o <ファイル名> アウトプットファイルを指定


コマンド最後の数字は"1秒間隔"で"5回取得する"という意味。
最後の数字はなくても大丈夫。その場合はずっと情報取得し続ける。


CPUの情報を取得

$ sar -P ALL -o sardata 1 5

Linux 4.9.32-15.41.amzn1.x86_64        07/04/2017      _x86_64_        (1 CPU)

01:22:52 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
01:22:53 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
01:22:53 PM       0      0.00      0.00      0.00      0.00      0.00    100.00

01:22:53 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
01:22:54 PM     all      0.00      0.00      1.00      0.00      0.00     99.00
01:22:54 PM       0      0.00      0.00      1.00      0.00      0.00     99.00

01:22:54 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
01:22:55 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
01:22:55 PM       0      0.00      0.00      0.00      0.00      0.00    100.00

01:22:55 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
01:22:56 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
01:22:56 PM       0      0.00      0.00      0.00      0.00      0.00    100.00

01:22:56 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
01:22:57 PM     all      0.00      0.00      0.99      0.00      0.00     99.01
01:22:57 PM       0      0.00      0.00      0.99      0.00      0.00     99.01

Average:        CPU     %user     %nice   %system   %iowait    %steal     %idle
Average:        all      0.00      0.00      0.40      0.00      0.00     99.60
Average:          0      0.00      0.00      0.40      0.00      0.00     99.60
取得した情報を後から確認したい場合

-fオプションでsarファイルを指定 ※-oオプションで保存したファイル

sar -P ALL -f sartest

Linux 4.9.32-15.41.amzn1.x86_64       07/05/2017      _x86_64_        (1 CPU)

04:28:30 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
04:28:31 PM     all      0.00      0.00      0.00      2.00      0.00     98.00
04:28:31 PM       0      0.00      0.00      0.00      2.00      0.00     98.00

04:28:31 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
04:28:32 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
04:28:32 PM       0      0.00      0.00      0.00      0.00      0.00    100.00