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ソケット数