Ubuntu にsar(sysstat)をインストールする。

性能がちょっとおそいなとか、IOどうなってるんだろうなとおもったらsysstatが便利です。
かんたんなものはtopとか眺めているといいですが、ちょっときがきいたものをみたければ迷わずsysstatを使いましょう。

Ubuntuにはデフォでは入っていないのでインストールします。

インストール&設定

$ sudo apt-get install sysstat

設定ファイルを書き換えて性能取得を有効にします

$ sudo vi /etc/default/sysstat
ENABLED="false"
  ↓
ENABLED="true"

サービス起動します

$ sudo /etc/init.d/sysstat start
 * Starting the system activity data collector sadc                                        [ OK ]
$

デフォルトだとCronでこんな感じに動きます。

$ cat /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

つまりXX時05分から10分毎にログをとって、23時59分にログファイルをローテートする為にもう一度実行しています。
ログはこんな感じでファイルで出力されます。

$ ls  -l /var/log/sysstat/
total 12
-rw-r--r-- 1 root root 11756 Oct  3 03:15 sa03

ちなみにファイル名ですが、「saDD」という形式で「DD」部分に日付が入ります。
パラメータをいじるとYYYYMMDDとかにも出来ます。詳しくは内部で使われているsadcコマンドのマニュアルを見ましょう

       The  standard  system  activity  daily  data  file is named saDD unless
       option -D is used, in which case its name  is  saYYYYMMDD,  where  YYYY
       stands  for  the  current year, MM for the current month and DD for the
       current day.  By default it is located in the  /var/log/sysstat  direc‐
       tory.

参照してみる

CPU情報を表示してみます(sa03のところは見たいファイルにあわせて変更する)

$ sar -f /var/log/sysstat/sa03 -P ALL
Linux 4.4.0-36-generic (ubuntu-1404)    10/03/2016      _x86_64_        (2 CPU)

02:41:01 AM       LINUX RESTART

02:45:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
02:55:01 AM     all      0.05      0.00      0.09      0.00      0.00     99.87
02:55:01 AM       0      0.04      0.00      0.10      0.00      0.00     99.86
02:55:01 AM       1      0.05      0.00      0.07      0.00      0.00     99.87

02:55:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
03:05:01 AM     all      0.05      0.00      0.07      0.00      0.00     99.89
03:05:01 AM       0      0.03      0.00      0.08      0.00      0.00     99.89
03:05:01 AM       1      0.06      0.00      0.06      0.00      0.00     99.89

03:05:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
03:15:01 AM     all      0.04      0.00      0.05      0.00      0.00     99.91
03:15:01 AM       0      0.02      0.00      0.06      0.00      0.00     99.91
03:15:01 AM       1      0.05      0.00      0.04      0.00      0.00     99.91

Average:        CPU     %user     %nice   %system   %iowait    %steal     %idle
Average:        all      0.04      0.00      0.07      0.00      0.00     99.89
Average:          0      0.03      0.00      0.08      0.00      0.00     99.89
Average:          1      0.05      0.00      0.06      0.00      0.00     99.89

ロードアベレージをみるのはこんな感じ

$ sar -f /var/log/sysstat/sa03 -q

メモリやネットワークなども見れます。詳しくは以下等を参照しましょう。
Linux - sarコマンドについて - Qiita

Ksarで見やすく表示

コマンドで仔細に見るのもいいですが、GUIで見やすく見るほうがなにかと便利なのでKSARでみてみましょう。
https://sourceforge.net/projects/ksar/files/beta/
から、「kSar-5.1.0-beta4.zip」をダウンロード

$ export LC_ALL=C && export S_TIME_FORMAT=ISO

をうって言語と時間設定を直してから

$ sar  -A 10 300 > performance.txt

でいけます。


詳しい使い方は以下にまとめてあります。
garapon.hatenablog.com