Help us understand the problem. What is going on with this article?

Linux - sarコマンドについて

sarコマンドを使用するたびに検索していたので、障害調査や性能試験でよく使うコマンドをまとめてみました。

環境

  • AWS
  • Ubuntu 20.04

インストール

インストールコマンド

sudo apt update
sudo apt install sysstat

ファイル指定

sysstatで取得しているsarログのデータを確認

sar -u -f /var/log/sysstat/sa01

期間指定

指定時刻以降の情報を表示(From)

sar -u -s 21:00:00 -f /var/log/sysstat/sa01

指定時刻までの情報を表示(To)

sar -u -e 22:00:00 -f /var/log/sysstat/sa01

CPU使用状況

CPU使用状況確認(全体)

sar -u 1 

CPU使用状況確認(Core単位)

sar -P ALL 1

出力例

02:04:02 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
02:04:03 PM     all      0.00      0.00      0.00      0.00      2.94     97.06

項目

  • %user..... ユーザが利用しているCPU使用率
  • %nice..... nice値を変更しているプロセスのCPU使用率
  • %system... システムが利用しているCPU使用率
  • %iowait... IO待ちしているCPU使用率
  • %steal.... ゲストOSが割り当て要求をしたが、割り当ててもらえなかったCPU使用率
  • %idle..... 待機中のCPU使用率

ロードアベレージ状況

ロードアベレージ状況確認

sar -q 1

出力例

03:48:12 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
03:48:13 PM         0       196      0.00      0.01      0.05         0

項目

  • runq-sz.... 実行待ちのキューに入っているプロセス数
  • plist-sz... プロセスリスト中のプロセス数とスレッド数
  • ldavg-1.... 直近1分間のロードアベレージ
  • ldavg-5.... 直近5分間のロードアベレージ
  • ldavg-15... 直近15分間のロードアベレージ
  • blocked.... ※調査中

コンテキストスイッチ状況

コンテキストスイッチ状況確認

sar -w 1 

出力例

02:54:04 PM    proc/s   cswch/s
02:54:05 PM      0.00    385.15

項目

  • proc/s.... 1秒あたりの生成されたプロセス数
  • cswch/s... 1秒あたりのコンテキストスイッチ回数

メモリ使用状況

メモリ使用状況確認

sar -r 1 

出力例

02:34:19 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
02:34:20 PM    234892    781456     76.89     89860    337344    705296     69.40    436968    213948        52
02:34:21 PM    234892    781456     76.89     89860    337344    705296     69.40    436968    213948        52

項目

  • kbmemfree... 物理メモリの空き容量
  • kbmemused... 使用中の物理メモリ量
  • %memused.... 物理メモリの使用率
  • kbbuffers... バッファとして使用されている物理メモリの容量
  • kbcached.... キャッシュとして使用されている物理メモリの容量
  • kbcommit.... 事前に確保されているメモリ容量
  • %commit..... 事前に確保されているメモリ容量の割合
  • kbactive.... ※調査中
  • kbinact..... ※調査中
  • kbdirty..... ※調査中

スワップ使用状況確認

スワップ使用状況確認

sar -S 1

出力例

02:36:40 PM kbswpfree kbswpused  %swpused  kbswpcad   %swpcad
02:36:41 PM         0         0      0.00         0      0.00

項目

  • kbswpfree... スワップ領域の空き容量
  • kbswpused... スワップ領域の使用量
  • %swpused.... スワップ領域の使用率
  • kbswpcad.... キャッシュされたスワップメモリ容量
  • %swpcad..... 使用されたスワップスペースに対する、キャッシュされたスワップメモリ使用率

ディスク使用状況

ディスク使用状況確認(デバイス単位)

sar -p -d 1 1

出力例

02:14:07 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
02:14:07 PM      xvda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

項目

  • tps.............. 1秒間のI/Oリクエスト数(転送回数)
  • rd_sec(rsec)/s... 1秒間の読み込みセクタ数(1セクタ512バイト)
  • wr_sec(wsec)/s... 1秒間の書き込みセクタ数(1セクタ512バイト)
  • avgrq-sz......... デバイスへのIOリクエストの平均セクタサイズ
  • avgqu-sz......... デバイスへのIOリクエストの待ち行列の平均セクタサイズ
  • await............ デバイスへのIOリクエストの平均待ち時間(単位msec)[待ち行列にいる時間+処理時間]
  • svctm............ デバイスへのIOリクエストの平均処理時間(単位msec)
  • %util............ デバイスへのIOリクエスト中のCPU使用率(ここが継続的に100%だとディスク部分でボトルネックになっている可能性が高い)

ネットワーク使用状況

ネットワーク使用状況(全体)

sar -n DEV 1

Network使用状況確認(NIC単位)

sar -n DEV 1 | grep eth0

出力例

02:07:30 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
02:07:30 PM      eth0     35.00     42.50      2.03      5.31      0.00      0.00      0.00      0.00
02:07:30 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

項目

  • rxpck/s.... 1秒間あたりの受信パケット数
  • txpck/s.... 1秒間あたりの送信パケット数
  • rxbyt/s.... 1秒間あたりの受信バイト数
  • txbyt/s.... 1秒間あたりの送信バイト数
  • rxcmp/s.... 1秒間あたりの圧縮受信パケット数 (for cslip etc.)
  • txcmp/s.... 1秒間あたりの圧縮送信パケット数
  • rxmcst/s... 1秒間あたりのマルチキャスト受信パケット数

ネットワークエラー状況

ネットワークエラー状況確認(全体)

sar -n EDEV 1

ネットワークエラー状況確認(NIC単位)

sar -n EDEV 1 | grep eth0

出力例

02:07:03 PM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
02:07:03 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:07:03 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

項目

  • rxerr/s.... 1秒あたり総受信不良パケット数
  • txerr/s.... パケット送信時に発生した1秒あたりエラー発生数
  • coll/s..... パケット送信時に発生した1秒あたりパケット衝突数
  • rxdrop/s... Linuxバッファ上の領域不足によって発生した、1秒あたりの受信パケットのドロップ数
  • txdrop/s... Linuxバッファ上の領域不足によって発生した、1秒あたりの送信パケットのドロップ数
  • txcarr/s... パケット送信時に発生した1秒あたりのキャリアエラー数
  • rxfram/s... パケット受信時に発生した、1秒あたりフレーム・アラインメント・エラー数
  • rxfifo/s... 1秒あたりの受信パケットのFIFOオーバーラン・エラー数
  • txfifo/s... 1秒あたりの送信パケットのFIFOオーバーラン・エラー数

ネットワークソケット使用状況

ネットワークエラー状況確認

sar -n SOCK -f /var/log/sysstat/sa03

出力例

02:11:36 PM    totsck    tcpsck    udpsck    rawsck   ip-frag    tcp-tw
02:11:37 PM       259        36         6         0         0         0

項目

  • totsck....システムが使用した総ソケット数
  • tcpsck....現在使用中のTCPソケット数
  • udpsck....現在使用中のUDPソケット数
  • rawsck....現在使用中のRAWソケット数
  • ip-frag...現在使用中のIPフラグメント数
  • tcp-tw....TIME_WAITステータスにあるTCPソケット数

参考

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away