最新記事は以下に記載しています。
https://hana-shin.hatenablog.com/entry/2022/04/20/170519
#1 検証環境
検証環境はゲストマシン、OSはCentOS7.2です。CPUは4つあります。
[root@master sar]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@master sar]# cat /proc/cpuinfo |grep processor
processor : 0
processor : 1
processor : 2
processor : 3
#2 インストール方法
[root@master sar]# yum -y install sysstat
-以下、略-
[root@master sar]# rpm -qa|grep sysstat
sysstat-10.1.5-7.el7.x86_64
#3 起動方法
OS起動時に、sysstatが自動的に起動するようにします。
[root@admin ~]# systemctl enable sysstat
Created symlink from /etc/systemd/system/multi-user.target.wants/sysstat.service to /usr/lib/systemd/system/sysstat.service.
sysstatを起動します。
[root@admin ~]# systemctl start sysstat
sysstatの状態を確認します。sysstatが正常に起動したことがわかります。
[root@admin ~]# systemctl status sysstat
● sysstat.service - Resets System Activity Logs
Loaded: loaded (/usr/lib/systemd/system/sysstat.service; enabled; vendor preset: enabled)
Active: active (exited) since 月 2017-08-07 19:31:14 JST; 6s ago
Process: 915 ExecStart=/usr/lib64/sa/sa1 --boot (code=exited, status=0/SUCCESS)
Main PID: 915 (code=exited, status=0/SUCCESS)
8月 07 19:31:13 admin systemd[1]: Starting Resets System Activity Logs...
8月 07 19:31:14 admin systemd[1]: Started Resets System Activity Logs.
#4 データの採取方法
##4.1 書式
sar -o <ファイル名> <採取間隔(秒)> <採取回数>
##4.2 実行例
以下は、採取間隔2秒です。Ctrl+C押下で終了します。
[root@master sar]# sar -o sar.data 2
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月18日 _x86_64_ (4 CPU)
19時42分43秒 CPU %user %nice %system %iowait %steal %idle
19時42分45秒 all 0.13 0.00 1.15 0.00 0.00 98.72
19時42分47秒 all 2.30 0.00 1.28 0.00 0.00 96.42
19時42分49秒 all 3.50 0.00 5.31 0.13 0.00 91.06
^C
19時42分49秒 all 0.74 0.00 2.96 0.00 0.00 96.30
平均値: all 1.90 0.00 2.59 0.04 0.00 95.47
採取したデータを確認する。
[root@master sar]# ls -l sar.data
-rw-r--r-- 1 root root 542348 2月 18 19:42 sar.data
#5 採取データの見方
##5.1 CPU
###5.1.1 全てのCPUの状況を見る(-P ALL)
[root@master sar]# sar -P ALL -f sar.data
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月18日 _x86_64_ (4 CPU)
19時48分01秒 CPU %user %nice %system %iowait %steal %idle
19時48分03秒 all 3.40 0.00 3.81 0.14 0.00 92.65
19時48分03秒 0 0.51 0.00 2.02 0.00 0.00 97.47
19時48分03秒 1 1.16 0.00 7.56 0.00 0.00 91.28
19時48分03秒 2 1.09 0.00 1.09 0.00 0.00 97.81
19時48分03秒 3 11.17 0.00 4.47 0.00 0.00 84.36
19時48分03秒 CPU %user %nice %system %iowait %steal %idle
19時48分05秒 all 0.25 0.00 0.63 0.25 0.00 98.86
19時48分05秒 0 0.00 0.00 0.51 0.00 0.00 99.49
19時48分05秒 1 0.51 0.00 1.01 1.01 0.00 97.47
19時48分05秒 2 0.51 0.00 0.51 0.00 0.00 98.98
19時48分05秒 3 0.50 0.00 0.50 0.00 0.00 98.99
-以下、略-
###5.1.2 特定のCPUの状況を見る(-P <CPU番号
>)
[root@master sar]# sar -P 0 -f sar.data
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月18日 _x86_64_ (4 CPU)
19時48分01秒 CPU %user %nice %system %iowait %steal %idle
19時48分03秒 0 0.51 0.00 2.02 0.00 0.00 97.47
19時48分05秒 0 0.00 0.00 0.51 0.00 0.00 99.49
19時48分07秒 0 0.00 0.00 2.58 0.00 0.00 97.42
19時48分09秒 0 0.54 0.00 4.89 0.00 0.00 94.57
19時48分11秒 0 0.00 0.00 3.17 0.53 0.00 96.30
19時48分13秒 0 0.53 0.00 7.89 0.00 0.00 91.58
19時48分15秒 0 0.52 0.00 4.64 0.00 0.00 94.85
19時48分15秒 CPU %user %nice %system %iowait %steal %idle
19時48分17秒 0 0.57 0.00 0.57 0.00 0.00 98.86
19時48分19秒 0 5.73 0.00 3.12 0.00 0.00 91.15
19時48分21秒 0 0.51 0.00 1.01 0.00 0.00 98.48
19時48分23秒 0 0.52 0.00 9.79 0.00 0.00 89.69
19時48分25秒 0 5.76 0.00 3.14 0.00 0.00 91.10
19時48分27秒 0 0.57 0.00 1.70 0.00 0.00 97.73
19時48分29秒 0 6.09 0.00 1.52 0.00 0.00 92.39
-以下、略-
##5.2 メモリ
###5.2.1 メモリ使用量(-r)
[root@master sar]# sar -r -f sar.data
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月18日 _x86_64_ (4 CPU)
19時48分01秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
19時48分03秒 321436 679928 67.90 1788 323936 802388 52.59 284436 247568 928
19時48分05秒 321424 679940 67.90 1788 323960 802388 52.59 288552 247568 948
19時48分07秒 321424 679940 67.90 1788 323984 802388 52.59 288560 247580 972
19時48分09秒 323348 678016 67.71 1788 324004 802388 52.59 288576 247604 96
19時48分11秒 323224 678140 67.72 1788 324024 802388 52.59 288584 247616 116
19時48分13秒 322864 678500 67.76 1788 324044 802388 52.59 288568 247616 1032
19時48分15秒 322960 678404 67.75 1788 324076 802388 52.59 288612 247628 1056
-以下、略-
###5.2.2 メモリページ(-R)
[root@master sar]# sar -R -f sar.data
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月18日 _x86_64_ (4 CPU)
19時48分01秒 frmpg/s bufpg/s campg/s
19時48分03秒 -206.47 0.00 3.48
19時48分05秒 -1.50 0.00 3.00
19時48分07秒 0.00 0.00 3.00
19時48分09秒 240.50 0.00 2.50
19時48分11秒 -15.50 0.00 2.50
19時48分13秒 -45.00 0.00 2.50
19時48分15秒 12.00 0.00 4.00
-以下、略-
##5.3 ディスク
[root@master sar]# sar -d -f sar.data
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月18日 _x86_64_ (4 CPU)
19時48分01秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
19時48分03秒 dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
19時48分03秒 dev8-0 10.95 0.00 116.42 10.64 0.08 6.41 2.32 2.54
19時48分03秒 dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
19時48分05秒 dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
19時48分05秒 dev8-0 5.50 0.00 27.00 4.91 0.05 9.91 8.82 4.85
19時48分05秒 dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
-以下、略-
##5.4 ネットワーク
sar -n <keyword
> -f <ファイル名
>
keywordには、以下のものがある。man より抜粋
DEV, EDEV, NFS, NFSD, SOCK, IP, EIP, ICMP, EICMP, TCP, ETCP, UDP, SOCK6, IP6, EIP6, ICMP6, EICMP6 and UDP6
###5.4.1 インタフェース
[root@master sar]# sar -n DEV -f sar.data
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月18日 _x86_64_ (4 CPU)
19時48分01秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
19時48分03秒 eth0 0.50 0.50 0.03 0.10 0.00 0.00 0.00
19時48分03秒 lo 54.23 54.23 24.69 24.69 0.00 0.00 0.00
19時48分03秒 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
19時48分05秒 eth0 0.50 0.50 0.03 0.15 0.00 0.00 0.00
19時48分05秒 lo 16.00 16.00 0.98 0.98 0.00 0.00 0.00
19時48分05秒 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
-以下、略-
###5.4.2 IP
[root@master sar]# sar -n IP -f sar.data
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月18日 _x86_64_ (4 CPU)
19時48分01秒 irec/s fwddgm/s idel/s orq/s asmrq/s asmok/s fragok/s fragcrt/s
19時48分03秒 54.73 0.00 54.73 54.23 0.00 0.00 0.00 0.00
19時48分05秒 16.50 0.00 16.50 16.50 0.00 0.00 0.00 0.00
19時48分07秒 11.00 0.00 11.00 11.00 0.00 0.00 0.00 0.00
19時48分09秒 5.50 0.00 5.50 5.50 0.00 0.00 0.00 0.00
19時48分11秒 12.00 0.00 12.00 12.00 0.00 0.00 0.00 0.00
19時48分13秒 18.00 0.00 17.50 18.00 0.00 0.00 0.00 0.00
19時48分15秒 26.50 0.00 27.00 26.50 0.00 0.00 0.00 0.00
-以下、略-
###5.4.3 TCP
[root@master sar]# sar -n TCP -f sar.data
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月18日 _x86_64_ (4 CPU)
19時48分01秒 active/s passive/s iseg/s oseg/s
19時48分03秒 0.00 0.00 54.73 54.23
19時48分05秒 0.00 0.00 16.50 16.50
19時48分07秒 0.00 0.00 11.00 11.00
19時48分09秒 0.00 0.00 5.50 5.50
19時48分11秒 0.00 0.00 12.00 12.00
19時48分13秒 0.00 0.00 18.00 18.00
19時48分15秒 0.00 0.00 26.00 26.00
#6 表示時刻の絞り込み(-s,-e)
20:00:00から20:40:00までのソケットの情報表示する。
[root@master ~]# sar -n SOCK -s 20:00:00 -e 20:40:00 -f /var/log/sa/sa16
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月16日 _x86_64_ (4 CPU)
20時00分01秒 totsck tcpsck udpsck rawsck ip-frag tcp-tw
20時10分02秒 783 93 2 0 0 6
20時20分01秒 782 93 2 0 0 7
20時30分01秒 793 103 2 0 0 4
平均値: 786 96 2 0 0 6
[root@master ~]#
#7 Excelによる可視化
可視化のための専用ツール(kSar)がありますが、動かないので、Excelによる可視化を試しました。
##7.1 メモリ
###7.1.1 Linux上の作業
テスト用データの採取を行う。
[root@master sar]# sar -o sar.data 2
-以下、略-
stressを使ってメモリ負荷をかける。プロセス(256M消費)を4個起動する。
[root@master sar]# stress -m 1 -q &
[1] 11947
[root@master sar]# stress -m 1 -q &
[2] 11952
[root@master sar]# stress -m 1 -q &
[3] 11969
[root@master sar]# stress -m 1 -q &
[4] 11973
実行しているジョブを確認する。
[root@master sar]# jobs
[1] 実行中 stress -m 1 -q &
[2] 実行中 stress -m 1 -q &
[3]- 実行中 stress -m 1 -q &
[4]+ 実行中 stress -m 1 -q &
採取したデータを確認する。
[root@master sar]# ls -l sar.data
-rw-r--r-- 1 root root 910500 2月 18 20:39 sar.data
採取したデータをテキストに変換する。
[root@master sar]# sar -r -f sar.data > mem.txt
mem.txtをエディタ(vi等)で編集する。以下は編集前のmem.txt
先頭2行を削除。その後、1行目の左端を"TIME"に編集("TIME"でなくても、他の単語でもOK)
###7.1.2 PC上の作業
Excelで「ファイル」->「開く」より、mem.txtを開く。
stressでメモリ負荷をかけたタイミングが4回あることがわかる(一番上の線)。
##7.2 CPU
###7.2.1 Linux上の作業
テスト用データの採取を行う。
[root@master sar]# sar -o sar.data 2
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月18日 _x86_64_ (4 CPU)
21時53分01秒 CPU %user %nice %system %iowait %steal %idle
21時53分03秒 all 1.06 0.00 3.43 0.13 0.00 95.38
21時53分05秒 all 0.17 0.00 0.52 0.17 0.00 99.14
stressを使ってCPU負荷をかける
[root@master sar]# date;stress -c 1 -q &
2017年 2月 18日 土曜日 21:53:13 JST
[1] 15564
[root@master sar]# date;stress -c 1 -q &
2017年 2月 18日 土曜日 21:53:22 JST
[2] 15570
[root@master sar]# date;stress -c 1 -q &
2017年 2月 18日 土曜日 21:53:34 JST
[3] 15590
実行しているジョブを確認する。
[root@master sar]# jobs
[1] 実行中 stress -c 1 -q &
[2]- 実行中 stress -c 1 -q &
[3]+ 実行中 stress -c 1 -q &
ジョブを終了する。
[root@master sar]# kill %1
[root@master sar]# kill %2
[1] Terminated stress -c 1 -q
[2]- Terminated stress -c 1 -q
[root@master sar]# kill %3
[root@master sar]# jobs
[3]+ Terminated stress -c 1 -q
[root@master sar]# jobs
[root@master sar]#
###7.2.2 PC上の作業
stressでCPU負荷をかけたタイミングが3回あることがわかる(青い線)。
#8 Docker
##8.1 HDDアクセス時の状況
初期状態を確認する。
[root@master ~]# sar -d 2 1
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月19日 _x86_64_ (4 CPU)
10時12分01秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
10時12分03秒 dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時12分03秒 dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時12分03秒 dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
-以下、略-
別ターミナルを開いて、コンテナを起動する。
[root@master ~]# docker run -it --rm centos:centos7 bash
[root@815f4045d19e /]#
sarを実行する。起動したコンテナがdev253-1(★印)を使っていることがわかる。
[root@master ~]# sar -d 2 1
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月19日 _x86_64_ (4 CPU)
10時14分18秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
10時14分20秒 dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時14分20秒 dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時14分20秒 dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時14分20秒★dev253-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
別ターミナルを開いて、もう1つコンテナを起動する。この時点で合計2個のコンテナが起動している。
[root@master ~]# docker run -it --rm centos:centos7 bash
[root@9151d7f2ee67 /]#
sarを実行する。起動したコンテナがdev253-2(★印)を使っていることがわかる。
[root@master ~]# sar -d 2 1
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月19日 _x86_64_ (4 CPU)
10時16分34秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
10時16分36秒 dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時16分36秒 dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時16分36秒 dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時16分36秒 dev253-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時16分36秒★dev253-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
別ターミナルを開いて、もう1つコンテナを起動する。この時点で合計3個のコンテナが起動している。
[root@master ~]# docker run -it --rm centos:centos7 bash
[root@290d8edad07b /]#
sarを実行する。起動したコンテナがdev253-3(★印)を使っていることがわかる。
[root@master ~]# sar -d 2 1
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月19日 _x86_64_ (4 CPU)
10時17分37秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
10時17分39秒 dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時17分39秒 dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時17分39秒 dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時17分39秒 dev253-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時17分39秒 dev253-2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時17分39秒★dev253-3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
コンテナを全て(3個)終了する。3つのデバイス(dev253-1,dev253-2,dev253-3)が使われなくなったことがわかる。
[root@master ~]# sar -d 2 1
Linux 3.10.0-327.el7.x86_64 (master) 2017年02月19日 _x86_64_ (4 CPU)
10時18分28秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
10時18分30秒 dev8-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時18分30秒 dev11-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10時18分30秒 dev253-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
-以下、略-
[root@master stress]# docker inspect $(docker ps -q --no-trunc)|grep DeviceName
"DeviceName": "docker-8:3-136190409-1681a6f10fd41edbd7816b76fe02b497cb7c4569f2e65a37cce915b411d00df7",
"DeviceName": "docker-8:3-136190409-a351a01c174f30dd0c6c36914a11a6750a48e94ef231a38b9ded78800bfed85b",
#X 参考情報
http://d.hatena.ne.jp/japanrock_pg/20090415/1239795768