sarコマンドでシステムコールの割合をチェックするメモ
インストール
Debianだとデフォルトで入ってなかった
1
| $ sudo apt install -y sysstat
|
以下は設定しないといけない環境もあるらしいけど不要だった(一応メモ)
1 2
| $ sudo vim /etc/default/sysstat ENABLED="true"
|
使い方
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| // 1秒おきに3回ループ $ sar -P ALL 1 3 Linux 4.19.0-6-amd64 (nobian) 2020年04月02日 _x86_64_ (6 CPU)
22時44分22秒 CPU %user %nice %system %iowait %steal %idle 22時44分23秒 all 0.00 0.00 0.00 0.00 0.00 100.00 22時44分23秒 0 0.00 0.00 0.00 0.00 0.00 100.00 22時44分23秒 1 0.00 0.00 0.00 0.00 0.00 100.00 22時44分23秒 2 0.00 0.00 0.00 0.00 0.00 100.00 22時44分23秒 3 0.00 0.00 0.00 0.00 0.00 100.00 22時44分23秒 4 0.00 0.00 0.00 0.00 0.00 100.00 22時44分23秒 5 0.00 0.00 0.00 0.00 0.00 100.00
22時44分23秒 CPU %user %nice %system %iowait %steal %idle 22時44分24秒 all 0.00 0.00 0.00 0.00 0.00 100.00 22時44分24秒 0 0.00 0.00 0.00 0.00 0.00 100.00 22時44分24秒 1 0.00 0.00 0.00 0.00 0.00 100.00 22時44分24秒 2 0.00 0.00 0.00 0.00 0.00 100.00 22時44分24秒 3 0.00 0.00 0.00 0.00 0.00 100.00 22時44分24秒 4 0.00 0.00 0.00 0.00 0.00 100.00 22時44分24秒 5 0.00 0.00 0.00 0.00 0.00 100.00
22時44分24秒 CPU %user %nice %system %iowait %steal %idle 22時44分25秒 all 0.00 0.00 0.00 0.00 0.00 100.00 22時44分25秒 0 0.00 0.00 0.00 0.00 0.00 100.00 22時44分25秒 1 0.00 0.00 0.00 0.00 0.00 100.00 22時44分25秒 2 0.00 0.00 0.00 0.00 0.00 100.00 22時44分25秒 3 0.00 0.00 0.00 0.00 0.00 100.00 22時44分25秒 4 0.00 0.00 0.00 0.00 0.00 100.00 22時44分25秒 5 0.00 0.00 0.00 0.00 0.00 100.00
|
見方
- 1行ごとにCPU1コア(allは合計)
%user
と%nice
はユーザモード
%system
はカーネルモード
- プログラム実行中に
%system
が異常に高いプログラムは、システムの負荷が高すぎたりよくない状態であることが多い
%system
が異常に高いなどの調査には strace
コマンドに-T
をつけると、どのシステムコールに時間がかかっているか、マイクロ秒単位で出力される(末尾の<>
内)