sarコマンドによる性能監視|Laugh and grow fat

sarコマンドによる性能監視

最近、性能監視とかトラブルシューティングを勉強中。

性能に影響がある項目としては、以下のようなものがある。

CPU            CPU使用率、CPU待ちのプロセス数
メモリ          メモリの使用量(スワッピングの発生回数)
ディスク       ディスク使用量
ネットワーク  ネットワーク使用量、パケット衝突回数

sarコマンドではシステム全体の稼働状況が取得でき、例えば、以下のようにチェックするようだ。

1. CPU使用率
sar -u でCPUの使用状況をレポート

例:

# sar -u 60 5
Linux 2.6.32-220.17.1.el6.i686 (localhost.localdomain)

18時39分47秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
18時40分47秒     all      0.42      0.00      0.60      0.58      0.00     98.40
18時41分47秒     all      0.35      0.00      0.22      0.05      0.00     99.38
18時42分47秒     all      0.02      0.00      0.22      0.25      0.00     99.52
18時43分47秒     all      2.45      0.00      2.99      4.27      0.00     90.29
18時44分47秒     all      0.20      0.00      0.32      1.37      0.00     98.10
平均値:      all      0.69      0.00      0.87      1.30      0.00     97.14


%user + %nice + %system がCPU使用率になるので、これが基準値を超えているかをチェックする。


2. CPU待ちのプロセス数
sar -q でプロセスキューの情報をレポート

例:

# sar -q 60 5
Linux 2.6.32-220.17.1.el6.i686 (localhost.localdomain)

18時48分33秒   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
18時49分33秒         0       221      0.00      0.06      0.09
18時50分33秒         0       222      0.00      0.05      0.09
18時51分33秒         0       221      0.00      0.04      0.08
18時52分33秒         0       221      0.00      0.03      0.07
18時53分33秒         0       221      0.00      0.02      0.07
平均値:          0       221      0.00      0.04      0.08


ldavgはload averageでの略で、ldavg-1は1分間、ldavg-5は5分間のCPU待ちのプロセス数の平均値。 この値が大きい場合、CPUへ負荷が高く、複数のプロセスがCPU待ちになっている。 ただ最近はマルチコアなので、 例えば、ldag-5 / CPU数 の値で判断した方が良いらしい。


3. スワッピングの発生回数
sar -W でスワッピングの統計をレポート



# sar -W 60 5
Linux 2.6.32-220.17.1.el6.i686 (localhost.localdomain)

18時55分44秒  pswpin/s pswpout/s
18時56分44秒      0.00      0.00
18時57分44秒      0.00      0.00
18時58分44秒      0.00      2.69
18時59分44秒      0.00      0.00
19時00分44秒      0.00      0.00
平均値:       0.00      0.53


pswpin/s  は、スワップインしたページ数/秒
pswout/s  は、スワップアウトしたページ数/秒
スワップアウトを見れば良い気がするが、キャッシュの解放でもスワップアウトは発生するので、スワップインの値を見てスワッピングの頻度を判断するらしい。


4. デバイスのI/Oリクエスト回数
sar -d でブロックデバイスの使用状況をレポート



$ sar -d 60 5
Linux 2.6.32-220.17.1.el6.i686 (localhost.localdomain)

18時59分31秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
19時00分31秒    dev8-0      0.90      5.08     50.37     61.48      0.03     36.09     13.37      1.21

19時00分31秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
19時01分31秒    dev8-0      1.02     19.48      6.81     25.84      0.04     35.36     11.05      1.12

19時01分31秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
19時02分31秒    dev8-0      0.07      0.00      0.53      8.00      0.00     18.75     14.00      0.09

19時02分31秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
19時03分31秒    dev8-0      0.10      0.27      0.67      9.33      0.00     17.67     14.67      0.15

19時03分31秒       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
19時04分31秒    dev8-0      0.32      0.13      5.88     18.95      0.01     46.95     20.16      0.64

平均値:        DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
平均値:     dev8-0      0.48      4.99     12.84     37.11      0.02     35.97     13.35      0.64


tps は デバイスに対するIO数/秒 であり、この値が例えば150とかを超えるとそのディスクの負荷が非常に高いらしい。またディスク間での偏りもチェック。


5. ネットワーク
sar -n でネットワークの使用状況をレポート
sar -n は以下の2つが指定できる。
  -n DEV :  ネットワークデバイスの統計情報
  -n EDEV: ネットワークデバイスのエラーに関する情報



$ sar -n DEV 60 5
Linux 2.6.32-220.17.1.el6.i686 (localhost.localdomain)

19時00分37秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
19時01分37秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
19時01分37秒      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00

19時01分37秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
19時02分37秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
19時02分37秒      eth0      0.05      0.00      0.00      0.00      0.00      0.00      0.00

19時02分37秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
19時03分37秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
19時03分37秒      eth0      0.03      0.03      0.01      0.01      0.00      0.00      0.00

19時03分37秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
19時04分37秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
19時04分37秒      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00

19時04分37秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
19時05分37秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
19時05分37秒      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00

平均値:      IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
平均値:         lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均値:       eth0      0.02      0.01      0.00      0.00      0.00      0.00      0.00




# sar -n EDEV 60 5
Linux 2.6.32-220.17.1.el6.i686 (localhost.localdomain)

19時00分35秒     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
19時01分35秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
19時01分35秒      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

19時01分35秒     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
19時02分35秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
19時02分35秒      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

19時02分35秒     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
19時03分35秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
19時03分35秒      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

  :

平均値:      IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
平均値:         lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均値:       eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00



どうも、パケット衝突回数/秒の coll/s を見るようだが、いまいち判断基準がわからん。

まだまだ勉強が必要だ。