LPIC201/202 あずき本 ch1 キャパシティプランニング (1/3)

LPIC201勉強メモ資格勉強

出典: 

章末問題から解く感じで進めてみる

Do I Know This Already?

1 キャパシティプランニングを行う際に測定すべきもの/測定する意味のないもの

  • 測定すべきもの

    • swap使用率
    • メモリの使用率
    • ネットワークのトラフィック
    • CPUの使用率
  • 測定する意味のないもの

    • swap領域サイズ

      • 設定したとおりの容量。勝手に増えたりしないので

2 スワップ領域の使用量計測

vmstat
cat /proc/swaps
free

3 vmstatコマンドの出力の読み方

  • vmstatではネットワーク利用状況は把握できない
  • us, sy, id, wa でCPU使用状況を把握する
  • 例: idが0、usが0、syが10くらい、waが90くらい

    • CPUアイドル時間(id)が0になっている
    • 要因はユーザーアプリケーション(us)やシステム(sy)ではなくI/O待ち(wa)による
  • free, buff, cacheでメモリ使用状況を把握する
  • swpd, si, so, bi, boでスワップ使用状況を把握する
  • 例: swpdが大きく、si, so, bi, boが0でない

    • スワップ領域が使用されており、スワップイン(si)・スワップアウト(so)、ディスクI/O(bi,bo)が常に発生している

4 sarの出力ファイル名、記録閲覧

sar -b -f /var/log/sa/saXX

XXは2桁の日付

5 vmstatコマンドのオプション・表示内容

Usage:
 vmstat [options] [delay [count]]
vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 23443260 351512 917396    0    0     3    14   50  120  1  0 99  0  0
 0  0      0 23443252 351512 917412    0    0     0     0   85  231  0  0 100  0  0
 0  0      0 23443252 351512 917412    0    0     0     0   71  201  0  0 100  0  0
  • 1秒間隔で3回
  • スワップ領域、バッファキャッシュ、ページキャッシュ等の利用状況を確認できる
  • 搭載しているメモリ総容量は確認できない

    • /proc/meminfoで確認できる
cat /proc/meminfo 
MemTotal:       26212040 kB
...

6 プロセスごとのメモリ使用量を把握し、CPU消費の大きいものを特定するには

top
ps aux

7 sarの出力する統計情報をTSVで出力するには

  • sadc

    • システム状況を収集し、ログに書き込む人
  • sar

    • 収集データを表示する人
  • sadf

    • ログをTSV, XML, JSON等で出力

1.1 キャパシティプランニング

1.1.1 キャパシティプランニングとは

  • コストを抑えつつリソース不足にもならないよう見積もる
  • システムのリソースを見積もる場合、個々のプログラムの計測値のボトムアップで求める
  • パフォーマンスチューニングのためにも計測は重要

1.2 リソース使用率の測定とトラブルシューティング

1.2.1 総合的なリソース使用率の測定

top

top
top - 13:50:56 up 2 min,  1 user,  load average: 0.01, 0.01, 0.01
Tasks:  89 total,   1 running,  88 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  5.9 sy,  0.0 ni, 94.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1013796 total,   692376 free,   183388 used,   138032 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   687820 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND             
    1 root      20   0  127984   6612   4136 S   0.0  0.7   0:01.62 systemd             
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd            
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0         
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H        
    5 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kworker/u4:0        
    6 root      20   0       0      0      0 S   0.0  0.0   0:00.01 ksoftirqd/0         
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/0         
...

1行目から読み取れる情報

top - 13:50:56 up 2 min,  1 user,  load average: 0.01, 0.01, 0.01
  • 現在時刻
  • 起動してからの経過時間
  • ログイン中のユーザ数
  • 平均負荷 (1, 5, 15分間の平均)

平均負荷(load average)はcpuのコア数を超えていないことが目安

grep processor /proc/cpuinfo | wc -l
2
grep cpu.cores /proc/cpuinfo
cpu cores	: 1
cpu cores	: 1

論理CPU2つ、それぞれ1コアなので、この場合2を超えていないことが目安

2行目から読み取れる情報

Tasks:  89 total,   1 running,  88 sleeping,   0 stopped,   0 zombie
  • 総プロセス数
  • 実行状態
  • スリープ状態
  • 停止状態
  • ゾンビ状態

    • 終了し、親プロセスのwaitを待っている子プロセス
    • forkされるとプロセステーブルに追加される
    • 親のwaitをもって子はプロセステーブルから削除される
    • つまり、親にwaitで引き取られない限りプロセステーブルから削除されずこれになる

3行目から読み取れる情報

%Cpu(s):  0.0 us,  5.9 sy,  0.0 ni, 94.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
  • us: user
  • sy: system
  • ni: nice
  • id: idle
  • wa: wait
  • hi: hardware irq
  • si: sofrware irq
  • st: steal

【補】vmstatのcpu部分とかぶる

vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 615412    244 213332    0    0    48    25   26   34  0  0 99  0  0

4,5行目から読み取れる情報

KiB Mem :  1013796 total,   614924 free,   185180 used,   213692 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   682628 avail Mem 

【補】vmstatのmemory部分とかぶる

vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 615280    244 213472    0    0    44    23   25   33  0  0 99  0  0

のこり

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND           
    1 root      20   0  127984   6612   4136 S   0.0  0.7   0:01.71 systemd           
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd          
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H      
    6 root      20   0       0      0      0 S   0.0  0.0   0:00.01 ksoftirqd/0       

f: 表示項目を切替できる

Fields Management for window 1:Def, whose current sort field is %CPU
   Navigate with Up/Dn, Right selects for move then <Enter> or Left commits,
   'd' or <Space> toggles display, 's' sets sort.  Use 'q' or <Esc> to end!

* PID     = Process Id             PGRP    = Process Group Id       vMj     = Major Faults delta
* USER    = Effective User Name    TTY     = Controlling Tty        vMn     = Minor Faults delta
* PR      = Priority               TPGID   = Tty Process Grp Id     USED    = Res+Swap Size (KiB)
* NI      = Nice Value             SID     = Session Id             nsIPC   = IPC namespace Inode
* VIRT    = Virtual Image (KiB)    nTH     = Number of Threads      nsMNT   = MNT namespace Inode
* RES     = Resident Size (KiB)    P       = Last Used Cpu (SMP)    nsNET   = NET namespace Inode
* SHR     = Shared Memory (KiB)    TIME    = CPU Time               nsPID   = PID namespace Inode
* S       = Process Status         SWAP    = Swapped Size (KiB)     nsUSER  = USER namespace Inode
* %CPU    = CPU Usage              CODE    = Code Size (KiB)        nsUTS   = UTS namespace Inode
* %MEM    = Memory Usage (RES)     DATA    = Data+Stack (KiB)
* TIME+   = CPU Time, hundredths   nMaj    = Major Page Faults
* COMMAND = Command Name/Line      nMin    = Minor Page Faults
  PPID    = Parent Process pid     nDRT    = Dirty Pages Count
  UID     = Effective User Id      WCHAN   = Sleeping in Function
  RUID    = Real User Id           Flags   = Task Flags <sched.h>
  RUSER   = Real User Name         CGROUPS = Control Groups
  SUID    = Saved User Id          SUPGIDS = Supp Groups IDs
  SUSER   = Saved User Name        SUPGRPS = Supp Groups Names
  GID     = Group Id               TGID    = Thread Group Id
  GROUP   = Group Name             ENVIRON = Environment vars

l: 1行目(load averageの行)表示非表示

t: 2,3行目(プロセス、CPU状態)表示非表示

m: 4,5行目(Mem, Swapの行)表示形式切り替え

数値

KiB Mem :  1013796 total,   607248 free,   188852 used,   217696 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   678908 avail Mem

グラフ1

KiB Mem : 33.0/1013796  [||||||||||||||||||||||||||||||                                                              ]
KiB Swap:  0.0/0        [                                                                                            ]

グラフ2 (塗りつぶしっぽいやつ。うまくコピペできなかった)

KiB Mem : 33.0/1013796  [                                                                                            ]
KiB Swap:  0.0/0        [                                                                                            ]

非表示

u: 指定のユーザのプロセスのみ表示

top - 14:33:44 up 45 min,  2 users,  load average: 0.00, 0.01, 0.01
Tasks:  89 total,   1 running,  88 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1013796 total,   607272 free,   188828 used,   217696 buff/cache
KiB Swap:        0 total,        0 free,        0 used.   678932 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND           
 1251 wand      20   0  156784   2408   1072 S   0.0  0.2   0:00.02 sshd              
 1252 wand      20   0  115512   1888   1512 S   0.0  0.2   0:00.02 bash              
 1436 wand      20   0  156784   2552   1188 S   0.0  0.3   0:00.09 sshd              
 1437 wand      20   0  115516   1936   1532 S   0.0  0.2   0:00.03 bash              
 1506 wand      20   0  159896   2140   1520 R   0.0  0.2   0:00.00 top               

ソート

キーストローク ソート項目
P CPU使用率
M メモリ使用率
T 起動時間順
</> ソート項目を左/右のものに

W: Write. 現在の設定を~/.toprcに保存

k: kill. シグナル送信

A: 表示モード切り替え

1  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND         
   869 root      20   0  119704  20780   8048 S   0.3  2.0   0:01.07 google_osconfig 
     1 root      20   0  127984   6612   4136 S   0.0  0.7   0:01.75 systemd         
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd        
     4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H    
     6 root      20   0       0      0      0 S   0.0  0.0   0:00.01 ksoftirqd/0     
     7 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/0     
     8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh          
2  PID  PPID     TIME+  %CPU %MEM  PR  NI S    VIRT    RES   UID COMMAND             
  1585  1252   0:00.04   0.0  0.2  20   0 R  159896   2080  1000 top                 
  1584  1437   0:00.07   0.0  0.2  20   0 S  159896   2052  1000 top                 
  1582     2   0:00.00   0.0  0.0  20   0 S       0      0     0 kworker/1:1         
  1580  1575   0:00.00   0.0  0.1  30  10 S  113640    972     0 awk                 
  1579  1575   0:00.16   0.0  2.1  30  10 S  351600  21776     0 yum-cron            
  1575  1314   0:00.00   0.0  0.1  30  10 S  113280   1472     0 run-parts           
  1567     2   0:00.00   0.0  0.0  20   0 S       0      0     0 kworker/1:0         
3  PID %MEM    VIRT    RES   CODE    DATA    SHR nMaj nDRT  %CPU COMMAND             
...

d,s: delay.更新間隔変更

h,?: ヘルプ表示

Help for Interactive Commands - procps-ng version 3.3.10
Window 1:Def: Cumulative mode Off.  System: Delay 3.0 secs; Secure mode Off.

  Z,B,E,e   Global: 'Z' colors; 'B' bold; 'E'/'e' summary/task memory scale
  l,t,m     Toggle Summary: 'l' load avg; 't' task/cpu stats; 'm' memory info
  0,1,2,3,I Toggle: '0' zeros; '1/2/3' cpus or numa node views; 'I' Irix mode
  f,F,X     Fields: 'f'/'F' add/remove/order/sort; 'X' increase fixed-width

  L,&,<,> . Locate: 'L'/'&' find/again; Move sort column: '<'/'>' left/right
  R,H,V,J . Toggle: 'R' Sort; 'H' Threads; 'V' Forest view; 'J' Num justify
  c,i,S,j . Toggle: 'c' Cmd name/line; 'i' Idle; 'S' Time; 'j' Str justify
  x,y     . Toggle highlights: 'x' sort field; 'y' running tasks
  z,b     . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
  u,U,o,O . Filter by: 'u'/'U' effective/any user; 'o'/'O' other criteria
  n,#,^O  . Set: 'n'/'#' max tasks displayed; Show: Ctrl+'O' other filter(s)
  C,...   . Toggle scroll coordinates msg for: up,down,left,right,home,end

  k,r       Manipulate tasks: 'k' kill; 'r' renice
  d or s    Set update interval
  W,Y       Write configuration file 'W'; Inspect other output 'Y'
  q         Quit
          ( commands shown with '.' require a visible task display window ) 
Press 'h' or '?' for help with Windows,

q: 終了

vmstat

vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 590112    244 219340    0    0    23    12   19   27  0  0 100  0  0
 0  0      0 590088    244 219340    0    0     0     0   22   27  0  0 100  0  0
 0  0      0 590088    244 219340    0    0     0     0   18   38  0  0 100  0  0
  • procs

    • r: 実行待ちプロセス数
    • b: 割り込み不可能なスリープ状態にあるプロセス数

      • 0であることが望ましい
      • 0以外の値が多く見られる場合、何らかの対処が必要
  • system

    • in: interrupts per second (クロック割り込み含む)
    • cs: context switches per second

iostat

インストール

iostat

ない

-bash: iostat: command not found

iostatを含むパッケージをyumで調べる

yum provides iostat
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ty1.mirror.newmediaexpress.com
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: ty1.mirror.newmediaexpress.com
 * updates: ty1.mirror.newmediaexpress.com
sysstat-10.1.5-19.el7.x86_64 : Collection of performance monitoring tools for Linux
Repo        : base
Matched from:
Filename    : /usr/bin/iostat

sysstat

sysstat-10.1.5-19.el7.x86_64 : Collection of performance monitoring tools for Linux

入れる

sudo yum install -y sysstat

入った

iostat
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/01/20 	_x86_64_	(2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.34    0.00    0.15    0.18    0.00   99.32

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               4.10       219.57       263.64     977897    1174136

他にもいろいろ入ったっぽい

yum info sysstat
Installed Packages
Name        : sysstat
...
Description : The sysstat package contains sar, sadf, mpstat, iostat, pidstat,
            : nfsiostat-sysstat, tapestat, cifsiostat and sa tools for Linux.
...

この後使うsarも入った

使う

iostat --help
Usage: iostat [ options ] [ <interval> [ <count> ] ]
Options are:
[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ [ -T ] -g <group_name> ] [ -p [ <device> [,...] | ALL ] ]
[ <device> [...] | ALL ]
iostat 1 3
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/01/20 	_x86_64_	(2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.34    0.00    0.15    0.18    0.00   99.32

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               4.12       223.96       247.69    1067817    1180948

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.00    0.00    0.00  100.00

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.00    0.00    0.00  100.00

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.00         0.00         0.00          0          0

2番目以降の表示は前回からの差分

CPU使用状況とディスクI/O関連の情報を監視できる

cifsiostatというのもある

iotop

  • I/O情報をtopのように表示する

インストール

yum provides iotop
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ty1.mirror.newmediaexpress.com
 * epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: ty1.mirror.newmediaexpress.com
 * updates: ty1.mirror.newmediaexpress.com
iotop-0.6-4.el7.noarch : Top like utility for I/O
Repo        : base
sudo yum install -y iotop

つかう

root権限必要

$ iotop
Netlink error: Operation not permitted (1)

The Linux kernel interfaces that iotop relies on now require root priviliges
or the NET_ADMIN capability. This change occured because a security issue
(CVE-2011-2494) was found that allows leakage of sensitive data across user
boundaries. If you require the ability to run iotop as a non-root user, please
configure sudo to allow you to run iotop as root.

Please do not file bugs on iotop about this.
# iotop
Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
  TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 22
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    4 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0H]
    6 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
    7 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
    8 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_bh]
    9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_sched]
   10 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [lru-add-drain]
   11 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]
   12 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/1]
...

sar

sysstatパッケージに入っている

SAR(1)                                     Linux User's Manual                                    SAR(1)

NAME
       sar - Collect, report, or save system activity information.

SYNOPSIS
       sar  [ -A ] [ -B ] [ -b ] [ -C ] [ -d ] [ -F ] [ -H ] [ -h ] [ -p ] [ -q ] [ -R ] [ -r ] [ -S ] [
       -t ] [ -u [ ALL ] ] [ -V ] [ -v ] [ -W ] [ -w ] [ -y ] [ -I { int [,...] | SUM | ALL | XALL } ] [
       -P  { cpu [,...] | ALL } ] [ -m { keyword [,...] | ALL } ] [ -n { keyword [,...] | ALL } ] [ -j {
       ID | LABEL | PATH | UUID | ... } ] [ -f [ filename ] | -o [ filename ] | -[0-9]+ ] [ -i  interval
       ] [ -s [ hh:mm:ss ] ] [ -e [ hh:mm:ss ] ] [ interval [ count ] ]

抜粋

[ -f [ filename ] ]
[ -s [ hh:mm:ss ] ]
[ -e [ hh:mm:ss ] ] 
[ interval [ count ] ]

sysstatサービスが有効になっていると、sadcによるログが /var/log/sa/saXXファイルに格納される (XXは2桁の日付)

systemctl is-enabled sysstat
enabled
ls -d /var/log/sa/sa*
/var/log/sa/sa01  /var/log/sa/sa02

オプション

-A: すべての項目表示

sar -A -f /var/log/sa/sa02
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/02/20 	_x86_64_	(2 CPU)

13:07:39          LINUX RESTART

13:10:01        CPU      %usr     %nice      %sys   %iowait    %steal      %irq     %soft    %guest    %gnice     %idle
13:20:01        all      0.37      0.00      0.16      0.20      0.00      0.00      0.00      0.00      0.00     99.27
13:20:01          0      0.26      0.00      0.21      0.23      0.00      0.00      0.01      0.00      0.00     99.29
13:20:01          1      0.48      0.00      0.10      0.16      0.00      0.00      0.00      0.00      0.00     99.25

13:20:01        CPU      %usr     %nice      %sys   %iowait    %steal      %irq     %soft    %guest    %gnice     %idle
13:30:01        all      0.34      0.00      0.19      0.02      0.00      0.00      0.01      0.00      0.00     99.44
13:30:01          0      0.17      0.00      0.19      0.03      0.00      0.00      0.01      0.00      0.00     99.60
13:30:01          1      0.51      0.00      0.19      0.01      0.00      0.00      0.01      0.00      0.00     99.28

Average:        CPU      %usr     %nice      %sys   %iowait    %steal      %irq     %soft    %guest    %gnice     %idle
Average:        all      0.36      0.00      0.17      0.11      0.00      0.00      0.01      0.00      0.00     99.36
Average:          0      0.22      0.00      0.20      0.13      0.00      0.00      0.01      0.00      0.00     99.45
Average:          1      0.50      0.00      0.14      0.09      0.00      0.00      0.01      0.00      0.00     99.27

13:10:01       proc/s   cswch/s
13:20:01         0.13     55.60
13:30:01         0.21     72.31
Average:         0.17     63.96

13:10:01     pswpin/s pswpout/s
13:20:01         0.00      0.00
13:30:01         0.00      0.00
Average:         0.00      0.00

13:10:01     pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
13:20:01       302.76    119.70    170.41      0.21    411.62     34.23      0.00     24.71     72.18
13:30:01        12.54     14.86    210.96      0.09    342.24     38.56      0.00     36.41     94.44
Average:       157.64     67.27    190.69      0.15    376.93     36.39      0.00     30.56     83.97

13:10:01          tps      rtps      wtps   bread/s   bwrtn/s
13:20:01         5.22      4.26      0.95    605.52    239.39
13:30:01         0.81      0.50      0.31     25.09     29.72
Average:         3.01      2.38      0.63    315.28    134.55

13:10:01      frmpg/s   bufpg/s   campg/s
13:20:01       -85.66     -0.81     78.59
13:30:01        32.56     -0.09    -33.49
Average:       -26.54     -0.45     22.55

13:10:01    kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
13:20:01       490408    523388     51.63       240    308040    475944     46.95    280472    123124      7192
13:30:01       568588    445208     43.91        16    227636    480208     47.37    208224    117004         0
Average:       529498    484298     47.77       128    267838    478076     47.16    244348    120064      3596

13:10:01    kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
13:20:01            0         0      0.00         0      0.00
13:30:01            0         0      0.00         0      0.00
Average:            0         0      0.00         0      0.00

13:10:01    kbhugfree kbhugused  %hugused
13:20:01            0         0      0.00
13:30:01            0         0      0.00
Average:            0         0      0.00

13:10:01    dentunusd   file-nr  inode-nr    pty-nr
13:20:01        19328      1088     19563         1
13:30:01        10963      1184     20140         2
Average:        15146      1136     19852         2

13:10:01      runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
13:20:01            0       123      0.15      0.07      0.06         0
13:30:01            0       126      0.00      0.01      0.05         0
Average:            0       124      0.07      0.04      0.06         0

13:10:01          TTY   rcvin/s   xmtin/s framerr/s prtyerr/s     brk/s   ovrun/s
13:20:01            0      0.00      0.61      0.00      0.00      0.00      0.00
13:20:01            1      0.00      0.00      0.00      0.00      0.00      0.00
13:20:01            2      0.00      0.00      0.00      0.00      0.00      0.00
13:20:01            3      0.00      0.00      0.00      0.00      0.00      0.00
13:30:01            0      0.00      0.76      0.00      0.00      0.00      0.00
13:30:01            1      0.00      0.00      0.00      0.00      0.00      0.00
13:30:01            2      0.00      0.00      0.00      0.00      0.00      0.00
13:30:01            3      0.00      0.00      0.00      0.00      0.00      0.00
Average:            0      0.00      0.69      0.00      0.00      0.00      0.00
Average:            1      0.00      0.00      0.00      0.00      0.00      0.00
Average:            2      0.00      0.00      0.00      0.00      0.00      0.00
Average:            3      0.00      0.00      0.00      0.00      0.00      0.00

13:10:01          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
13:20:01       dev8-0      5.22    605.52    239.39    161.99      0.06     11.57      1.37      0.72
13:30:01       dev8-0      0.81     25.09     29.72     67.41      0.00      3.33      1.17      0.10
Average:       dev8-0      3.01    315.28    134.55    149.23      0.03     10.46      1.35      0.41

13:10:01        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
13:20:01         eth0      1.83      1.81     13.86      0.17      0.00      0.00      0.00
13:20:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
13:30:01         eth0      1.32      1.03      0.18      0.22      0.00      0.00      0.00
13:30:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      1.57      1.42      7.02      0.19      0.00      0.00      0.00
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

13:10:01        IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
13:20:01         eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
13:20:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
13:30:01         eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
13:30:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

13:10:01       call/s retrans/s    read/s   write/s  access/s  getatt/s
13:20:01         0.00      0.00      0.00      0.00      0.00      0.00
13:30:01         0.00      0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      0.00      0.00      0.00      0.00

13:10:01      scall/s badcall/s  packet/s     udp/s     tcp/s     hit/s    miss/s   sread/s  swrite/s saccess/s sgetatt/s
13:20:01         0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
13:30:01         0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

13:10:01       totsck    tcpsck    udpsck    rawsck   ip-frag    tcp-tw
13:20:01          196         7         2         0         0        13
13:30:01          200         8         2         0         0         0
Average:          198         8         2         0         0         6

-b: ディスクの入出力と転送レート情報

sar -b -f /var/log/sa/sa02
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/02/20 	_x86_64_	(2 CPU)

13:07:39          LINUX RESTART

13:10:01          tps      rtps      wtps   bread/s   bwrtn/s
13:20:01         5.22      4.26      0.95    605.52    239.39
13:30:01         0.81      0.50      0.31     25.09     29.72
Average:         3.01      2.38      0.63    315.28    134.55

-C: プロセスの生成回数

sar -C -f /var/log/sa/sa02
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/02/20 	_x86_64_	(2 CPU)

13:07:39          LINUX RESTART

13:10:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
13:20:01        all      0.37      0.00      0.16      0.20      0.00     99.27
13:30:01        all      0.34      0.00      0.19      0.02      0.00     99.44
Average:        all      0.36      0.00      0.18      0.11      0.00     99.36

-n DEV: ネットワーク関連情報出力

sar -n DEV -f /var/log/sa/sa02
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/02/20 	_x86_64_	(2 CPU)

13:07:39          LINUX RESTART

13:10:01        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
13:20:01         eth0      1.83      1.81     13.86      0.17      0.00      0.00      0.00
13:20:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
13:30:01         eth0      1.32      1.03      0.18      0.22      0.00      0.00      0.00
13:30:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      1.57      1.42      7.02      0.19      0.00      0.00      0.00
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00

-n EDEV: ネットワーク関連のエラー情報出力

sar -n EDEV -f /var/log/sa/sa02
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/02/20 	_x86_64_	(2 CPU)

13:07:39          LINUX RESTART

13:10:01        IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
13:20:01         eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
13:20:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
13:30:01         eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
13:30:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

-r: メモリとスワップ関連

sar -r -f /var/log/sa/sa02
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/02/20 	_x86_64_	(2 CPU)

13:07:39          LINUX RESTART

13:10:01    kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
13:20:01       490408    523388     51.63       240    308040    475944     46.95    280472    123124      7192
13:30:01       568588    445208     43.91        16    227636    480208     47.37    208224    117004         0
Average:       529498    484298     47.77       128    267838    478076     47.16    244348    120064      3596

-u: iostatのCPU列と同じ

sar -u -f /var/log/sa/sa02
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/02/20 	_x86_64_	(2 CPU)

13:07:39          LINUX RESTART

13:10:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
13:20:01        all      0.37      0.00      0.16      0.20      0.00     99.27
13:30:01        all      0.34      0.00      0.19      0.02      0.00     99.44
Average:        all      0.36      0.00      0.18      0.11      0.00     99.36

cf. iostat

iostat 
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/02/20 	_x86_64_	(2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.30    0.00    0.25    0.19    0.00   99.25

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               4.04       170.67        44.29     326997      84868

-P (id)|ALL: CPUごとの情報表示

sar -P ALL -f /var/log/sa/sa02
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/02/20 	_x86_64_	(2 CPU)

13:07:39          LINUX RESTART

13:10:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
13:20:01        all      0.37      0.00      0.16      0.20      0.00     99.27
13:20:01          0      0.26      0.00      0.22      0.23      0.00     99.29
13:20:01          1      0.48      0.00      0.11      0.16      0.00     99.25

13:20:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
13:30:01        all      0.34      0.00      0.19      0.02      0.00     99.44
13:30:01          0      0.17      0.00      0.19      0.03      0.00     99.60
13:30:01          1      0.51      0.00      0.19      0.01      0.00     99.28

13:30:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
13:40:01        all      0.02      0.00      0.03      0.02      0.00     99.94
13:40:01          0      0.02      0.00      0.03      0.03      0.00     99.93
13:40:01          1      0.01      0.00      0.03      0.01      0.00     99.95

Average:        CPU     %user     %nice   %system   %iowait    %steal     %idle
Average:        all      0.24      0.00      0.13      0.08      0.00     99.55
Average:          0      0.15      0.00      0.14      0.10      0.00     99.61
Average:          1      0.34      0.00      0.11      0.06      0.00     99.49
sar -P 0 -f /var/log/sa/sa02
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/02/20 	_x86_64_	(2 CPU)

13:07:39          LINUX RESTART

13:10:01        CPU     %user     %nice   %system   %iowait    %steal     %idle
13:20:01          0      0.26      0.00      0.22      0.23      0.00     99.29
13:30:01          0      0.17      0.00      0.19      0.03      0.00     99.60
13:40:01          0      0.02      0.00      0.03      0.03      0.00     99.93
Average:          0      0.15      0.00      0.14      0.10      0.00     99.61

存在しないものは空

sar -P 2 -f /var/log/sa/sa02
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/02/20 	_x86_64_	(2 CPU)

13:07:39          LINUX RESTART

13:10:01        CPU     %user     %nice   %system   %iowait    %steal     %idle

-R: メモリの統計情報

sar -R -f /var/log/sa/sa02
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/02/20 	_x86_64_	(2 CPU)

13:07:39          LINUX RESTART

13:10:01      frmpg/s   bufpg/s   campg/s
13:20:01       -85.66     -0.81     78.59
13:30:01        32.56     -0.09    -33.49
13:40:01        -1.91      0.00      1.98
Average:       -18.33     -0.30     15.69
  • frmpg: freed memory page
  • bufpg: buffered memory page
  • campg: cached memory page

-W: スワップの情報

sar -W -f /var/log/sa/sa02
Linux 3.10.0-1127.19.1.el7.x86_64 (lpic2-study-1) 	12/02/20 	_x86_64_	(2 CPU)

13:07:39          LINUX RESTART

13:10:01     pswpin/s pswpout/s
13:20:01         0.00      0.00
13:30:01         0.00      0.00
13:40:01         0.00      0.00
Average:         0.00      0.00

sadf

SADF(1)                                    Linux User's Manual                                   SADF(1)

NAME
       sadf - Display data collected by sar in multiple formats.

SYNOPSIS
       sadf [ -C ] [ -d | -j | -p | -x ] [ -H ] [ -h ] [ -T | -t | -U ] [ -V ] [ -P { cpu [,...] | ALL }
       ] [ -s [ hh:mm:ss ] ] [ -e [ hh:mm:ss ] ] [ -- sar_options ] [ interval [ count ] ] [ datafile ]

sadc(system activity data collector)により収集されたログをformatして出力する

-j: JSON

sadf -j -- -u  /var/log/sa/sa02
{"sysstat": {
	"sysdata-version": 2.16,
	"hosts": [
		{
			"nodename": "lpic2-study-1",
			"sysname": "Linux",
			"release": "3.10.0-1127.19.1.el7.x86_64",
			"machine": "x86_64",
			"number-of-cpus": 2,
			"file-date": "2020-12-02",
			"statistics": [
				{
					"timestamp": {"date": "2020-12-02", "time": "13:20:01", "utc": 1, "interval": 600},
					"cpu-load": [
						{"cpu": "all", "user": 0.37, "nice": 0.00, "system": 0.16, "iowait": 0.20, "steal": 0.00, "idle": 99.27}
					]
				},
				{
					"timestamp": {"date": "2020-12-02", "time": "13:30:01", "utc": 1, "interval": 600},
					"cpu-load": [
						{"cpu": "all", "user": 0.34, "nice": 0.00, "system": 0.19, "iowait": 0.02, "steal": 0.00, "idle": 99.44}
					]
				},
				{
					"timestamp": {"date": "2020-12-02", "time": "13:40:01", "utc": 1, "interval": 600},
					"cpu-load": [
						{"cpu": "all", "user": 0.02, "nice": 0.00, "system": 0.03, "iowait": 0.02, "steal": 0.00, "idle": 99.94}
					]
				}
			],
			"restarts": [
				{
					"boot": {"date": "2020-12-02", "time": "13:07:39", "utc": 1}
				}
			]
		}
	]
}}

-x: XML

sadf -x -- -u /var/log/sa/sa02
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sysstat PUBLIC "DTD v2.16 sysstat //EN"
"http://pagesperso-orange.fr/sebastien.godard/sysstat-2.16.dtd">
<sysstat>
	<sysdata-version>2.16</sysdata-version>
	<host nodename="lpic2-study-1">
		<sysname>Linux</sysname>
		<release>3.10.0-1127.19.1.el7.x86_64</release>
		<machine>x86_64</machine>
		<number-of-cpus>2</number-of-cpus>
		<file-date>2020-12-02</file-date>
		<statistics>
			<timestamp date="2020-12-02" time="13:20:01" utc="1" interval="600">
				<cpu-load>
					<cpu number="all" user="0.37" nice="0.00" system="0.16" iowait="0.20" steal="0.00" idle="99.27"/>
				</cpu-load>
			</timestamp>
			<timestamp date="2020-12-02" time="13:30:01" utc="1" interval="600">
				<cpu-load>
					<cpu number="all" user="0.34" nice="0.00" system="0.19" iowait="0.02" steal="0.00" idle="99.44"/>
				</cpu-load>
			</timestamp>
			<timestamp date="2020-12-02" time="13:40:01" utc="1" interval="600">
				<cpu-load>
					<cpu number="all" user="0.02" nice="0.00" system="0.03" iowait="0.02" steal="0.00" idle="99.94"/>
				</cpu-load>
			</timestamp>
		</statistics>
		<restarts>
			<boot date="2020-12-02" time="13:07:39" utc="1"/>
		</restarts>
	</host>
</sysstat>

フォーマット指定しないとデフォルトTSV

sadf -- -u /var/log/sa/sa02
lpic2-study-1	-1	2020-12-02 13:07:39 UTC	LINUX-RESTART
lpic2-study-1	600	2020-12-02 13:20:01 UTC	all	%user	0.37
lpic2-study-1	600	2020-12-02 13:20:01 UTC	all	%nice	0.00
lpic2-study-1	600	2020-12-02 13:20:01 UTC	all	%system	0.16
lpic2-study-1	600	2020-12-02 13:20:01 UTC	all	%iowait	0.20
lpic2-study-1	600	2020-12-02 13:20:01 UTC	all	%steal	0.00
lpic2-study-1	600	2020-12-02 13:20:01 UTC	all	%idle	99.27
lpic2-study-1	600	2020-12-02 13:30:01 UTC	all	%user	0.34
lpic2-study-1	600	2020-12-02 13:30:01 UTC	all	%nice	0.00
lpic2-study-1	600	2020-12-02 13:30:01 UTC	all	%system	0.19
lpic2-study-1	600	2020-12-02 13:30:01 UTC	all	%iowait	0.02
lpic2-study-1	600	2020-12-02 13:30:01 UTC	all	%steal	0.00
lpic2-study-1	600	2020-12-02 13:30:01 UTC	all	%idle	99.44
lpic2-study-1	600	2020-12-02 13:40:01 UTC	all	%user	0.02
lpic2-study-1	600	2020-12-02 13:40:01 UTC	all	%nice	0.00
lpic2-study-1	600	2020-12-02 13:40:01 UTC	all	%system	0.03
lpic2-study-1	600	2020-12-02 13:40:01 UTC	all	%iowait	0.02
lpic2-study-1	600	2020-12-02 13:40:01 UTC	all	%steal	0.00
lpic2-study-1	600	2020-12-02 13:40:01 UTC	all	%idle	99.94
lpic2-study-1	600	2020-12-02 13:50:01 UTC	all	%user	0.03
lpic2-study-1	600	2020-12-02 13:50:01 UTC	all	%nice	0.00
lpic2-study-1	600	2020-12-02 13:50:01 UTC	all	%system	0.02
lpic2-study-1	600	2020-12-02 13:50:01 UTC	all	%iowait	0.01
lpic2-study-1	600	2020-12-02 13:50:01 UTC	all	%steal	0.00
lpic2-study-1	600	2020-12-02 13:50:01 UTC	all	%idle	99.95

CSV出力するオプションはない。TSVで出力してtrでタブをカンマに置換するとよい:

sadf -- -u /var/log/sa/sa02 | tr '\t' ','
lpic2-study-1,-1,2020-12-02 13:07:39 UTC,LINUX-RESTART
lpic2-study-1,600,2020-12-02 13:20:01 UTC,all,%user,0.37
lpic2-study-1,600,2020-12-02 13:20:01 UTC,all,%nice,0.00
lpic2-study-1,600,2020-12-02 13:20:01 UTC,all,%system,0.16
lpic2-study-1,600,2020-12-02 13:20:01 UTC,all,%iowait,0.20
lpic2-study-1,600,2020-12-02 13:20:01 UTC,all,%steal,0.00
lpic2-study-1,600,2020-12-02 13:20:01 UTC,all,%idle,99.27
...

-t: UTCでなくローカルTZで表示

sadf -t -- -u /var/log/sa/sa02
lpic2-study-1	-1	2020-12-02 13:07:39	LINUX-RESTART
lpic2-study-1	600	2020-12-02 13:20:01	all	%user	0.37
lpic2-study-1	600	2020-12-02 13:20:01	all	%nice	0.00
lpic2-study-1	600	2020-12-02 13:20:01	all	%system	0.16
lpic2-study-1	600	2020-12-02 13:20:01	all	%iowait	0.20
lpic2-study-1	600	2020-12-02 13:20:01	all	%steal	0.00
lpic2-study-1	600	2020-12-02 13:20:01	all	%idle	99.27
...

勉強用GCEインスタンスのTZがUTCなので変わらなかった

uptime

uptime
 13:57:21 up 49 min,  2 users,  load average: 0.00, 0.01, 0.05

topの1行目と同じ

top -n 1 | head -n 1
top - 13:57:48 up 50 min,  2 users,  load average: 0.00, 0.01, 0.05

w

w
 13:58:12 up 50 min,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
wand     pts/0    softbank06015019 13:17    4.00s  0.10s  0.00s w
wand     pts/1    softbank06015019 13:20   13:24   0.04s  0.00s less -s
  • 1行目: uptime, topの1行目と同じ
  • 2行目以降: 現在ログインしているユーザと各ユーザのプロセス情報
  • JCPU: そのttyに紐づく全プロセスが使用しているCPU時間

    • 過去のバックグラウンドジョブは含めない
    • 現在実行中のバックグラウンドジョブは含む
  • PCPU: WHAT欄で示されているカレントプロセスにより使用されているCPU時間

-h: ヘッダーなし

w -h
wand     pts/0    softbank06015019 13:17    7.00s  0.10s  0.00s w -h
wand     pts/1    softbank06015019 13:20   14:31   0.04s  0.00s less -s

-s: ログイン時刻、JCPU,PCPUなし

w -s
 13:59:29 up 51 min,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM              IDLE WHAT
wand     pts/0    softbank06015019  1.00s w -s
wand     pts/1    softbank06015019 14:41  less -s