はじめに
WSL2
でsar
コマンドを使った際の備忘録
環境
Windows 11 Professional
WSL2 Ubuntu 24.04
sysstat version 12.6.1
準備
- WSL2上でsystemdを有効にしておく
インストール
sudo apt-get install sysstat
ログ
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
isag
The following NEW packages will be installed:
sysstat
0 upgraded, 1 newly installed, 0 to remove and 17 not upgraded.
Need to get 489 kB of archives.
After this operation, 1487 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu noble/main amd64 sysstat amd64 12.6.1-2 [489 kB]
Fetched 489 kB in 2s (246 kB/s)
Preconfiguring packages ...
Selecting previously unselected package sysstat.
(Reading database ... 48623 files and directories currently installed.)
Preparing to unpack .../sysstat_12.6.1-2_amd64.deb ...
Unpacking sysstat (12.6.1-2) ...
Setting up sysstat (12.6.1-2) ...
Creating config file /etc/default/sysstat with new version
update-alternatives: using /usr/bin/sar.sysstat to provide /usr/bin/sar (sar) in auto mode
Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-collect.timer → /usr/lib/systemd/system/sysstat-collect.timer.
Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-summary.timer → /usr/lib/systemd/system/sysstat-summary.timer.
Created symlink /etc/systemd/system/multi-user.target.wants/sysstat.service → /usr/lib/systemd/system/sysstat.service.
Processing triggers for man-db (2.12.0-4build2) ...
自動起動設定
sudo systemctl enable sysstat
sysstatの起動
sudo systemctl start sysstat
sarコマンドを使う
見方
列名 | 説明 |
---|---|
CPU | CPUのタイプ(all はすべてのCPUの平均値) |
%user | ユーザプロセスが使用したCPU時間の割合 |
%nice | 優先度を下げたプロセスが使用したCPU時間の割合 |
%system | システムカーネルが使用したCPU時間の割合 |
%iowait | I/O操作を待っている時間の割合 |
%steal | 仮想マシンで他の仮想マシンに奪われたCPU時間の割合 |
%idle | 使用されていないアイドル時間の割合 |
現時点での使用率を調べる
sar
結果
sar
Linux 5.15.153.1-microsoft-standard-WSL2 (kbushi) 09/21/24 _x86_64_ (24 CPU)
07:07:50 LINUX RESTART (24 CPU)
07:10:11 CPU %user %nice %system %iowait %steal %idle
07:10:13 all 0.05 0.00 0.11 0.11 0.00 99.73
07:10:16 all 0.16 0.00 0.17 0.01 0.00 99.66
Average: all 0.13 0.00 0.15 0.04 0.00 99.68
過去の使用率を調べてみる
sar -f [日付ファイル]
で調べられる。
sar -f /var/log/sysstat/sa21
結果
sar -f /var/log/sysstat/sa21
Linux 5.15.153.1-microsoft-standard-WSL2 (kbushi) 09/21/24 _x86_64_ (24 CPU)
07:07:50 LINUX RESTART (24 CPU)
07:10:11 CPU %user %nice %system %iowait %steal %idle
07:10:13 all 0.05 0.00 0.11 0.11 0.00 99.73
07:10:16 all 0.16 0.00 0.17 0.01 0.00 99.66
Average: all 0.13 0.00 0.15 0.04 0.00 99.68
ネットワークの統計を調べる
ネットワークインターフェースごとのパケット転送に関する情報を調べる。
sar -n DEV
列名 | 説明 |
---|---|
IFACE | ネットワークインターフェース名(例:eth0 , wlan0 ) |
rxpck/s | 1秒あたりの受信パケット数 |
txpck/s | 1秒あたりの送信パケット数 |
rxkB/s | 1秒あたりの受信データ量(KB) |
txkB/s | 1秒あたりの送信データ量(KB) |
rxcmp/s | 1秒あたりの受信圧縮パケット数 |
txcmp/s | 1秒あたりの送信圧縮パケット数 |
rxmcst/s | 1秒あたりの受信マルチキャストパケット数 |
結果
Linux 5.15.153.1-microsoft-standard-WSL2 (kbushi) 09/21/24 _x86_64_ (24 CPU)
07:07:50 LINUX RESTART (24 CPU)
07:10:11 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil
07:10:13 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:10:13 eth0 0.65 0.65 0.06 0.06 0.00 0.00 0.00 0.00
07:10:16 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:10:16 eth0 0.29 0.29 0.03 0.03 0.00 0.00 0.00 0.00
07:20:12 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:12 eth0 0.46 0.31 0.05 0.02 0.00 0.00 0.15 0.00
07:20:13 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:13 eth0 1.67 1.67 0.15 0.15 0.00 0.00 0.00 0.00
07:20:17 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:17 eth0 0.45 0.45 0.03 0.03 0.00 0.00 0.00 0.00
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth0 0.46 0.31 0.05 0.02 0.00 0.00 0.15 0.00
ディスクの使用状況を調べる
ディスクデバイスごとのI/Oパフォーマンスに関する情報を調べる。
sar -d
列名 | 説明 |
---|---|
DEV | ディスクデバイス名(例:sda , sdb ) |
tps | 1秒あたりのトランザクション数(I/Oリクエスト数) |
rd_sec/s | 1秒あたりの読み込みセクタ数 |
wr_sec/s | 1秒あたりの書き込みセクタ数 |
avgrq-sz | 平均リクエストサイズ(セクタ単位) |
avgqu-sz | 平均キュー長(I/O要求の平均キューサイズ) |
await | I/Oリクエストの平均待ち時間(ms) |
svctm | I/Oリクエストの平均サービス時間(ms) |
%util | ディスクの使用率(I/O操作に使用された時間の割合) |
結果
07:07:50 LINUX RESTART (24 CPU)
07:10:11 DEV tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util
07:10:13 loop0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:10:13 loop1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:10:13 sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:10:13 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:10:13 sdc 28.57 0.00 4974.03 80124.68 2978.45 0.02 0.48 1.95
07:10:13 sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:10:13 sde 1.30 0.00 10.39 0.00 8.00 0.00 0.50 0.65
07:10:16 loop0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:10:16 loop1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:10:16 sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:10:16 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:10:16 sdc 12.10 0.00 2201.73 53769.45 4624.29 0.01 0.60 0.86
07:10:16 sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:10:16 sde 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:12 loop0 0.02 0.36 0.00 0.00 15.43 0.00 0.50 0.00
07:20:12 loop1 0.01 0.01 0.00 0.00 2.00 0.00 0.00 0.00
07:20:12 sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:12 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:12 sdc 11.05 3.52 1759.65 21866.25 2138.85 0.01 0.48 0.98
07:20:12 sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:12 sde 0.81 1.46 5.02 0.00 7.98 0.00 0.35 0.31
07:20:13 loop0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:13 loop1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:13 sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:13 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:13 sdc 70.00 0.00 12706.67 65873.33 1122.57 0.04 0.45 6.67
07:20:13 sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:13 sde 3.33 0.00 20.00 0.00 6.00 0.00 0.50 1.67
07:20:13 DEV tps rkB/s wkB/s dkB/s areq-sz aqu-sz await %util
07:20:17 loop0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:17 loop1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:17 sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:17 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:17 sdc 9.98 0.00 1732.43 31679.82 3348.82 0.01 0.52 0.91
07:20:17 sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
07:20:17 sde 0.23 0.00 0.91 0.00 4.00 0.00 0.00 0.23
Average: loop0 0.02 0.36 0.00 0.00 15.43 0.00 0.50 0.00
Average: loop1 0.00 0.01 0.00 0.00 2.00 0.00 0.00 0.00
Average: sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sdc 11.15 3.47 1780.99 22311.98 2161.33 0.01 0.48 0.98
Average: sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: sde 0.81 1.44 4.99 0.00 7.97 0.00 0.35 0.31
メモリ使用率を調べる
sar -r
列名 | 説明 |
---|---|
kbmemfree | 空いているメモリ量(KB) |
kbmemused | 使用中のメモリ量(KB) |
%memused | メモリ使用率 |
kbbuffers | バッファキャッシュとして使用されているメモリ量 |
kbcached | ファイルキャッシュとして使用されているメモリ量 |
kbcommit | コミットされたメモリ量 |
%commit | コミットされたメモリの使用率 |
結果
sar -r
Linux 5.15.153.1-microsoft-standard-WSL2 (kbushi) 09/21/24 _x86_64_ (24 CPU)
07:07:50 LINUX RESTART (24 CPU)
07:10:11 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
07:10:13 28749616 29916756 1965036 6.05 50064 1295436 5614204 13.74 898800 2014988 7372
07:10:16 28746228 29913552 1968600 6.06 50128 1295196 5614204 13.74 898876 2018512 7348
07:20:12 28542748 29723692 2157784 6.65 60688 1298436 5582908 13.67 911336 2209404 7324
07:20:13 28543100 29724060 2157420 6.65 60760 1298368 5582908 13.67 911340 2209100 7328
07:20:17 28540928 29721772 2159704 6.65 60824 1298192 5582912 13.67 911320 2212508 7348
Average: 28624524 29799966 2081709 6.41 56493 1297126 5595427 13.70 906334 2132902 7344
sadfコマンドでsvgを出力する
CPUの結果をSVGに出力する。
sadf -T -g -- -u > cpu_usage.svg
↓ SVG
指定した日付+時間でsvg出力をする
sadf /var/log/sysstat/sa21 -T -g -s "07:00:00" -e "08:00:00" -- -u > cpu_usage_7_00_8_00.svg
参考
sarコマンドの使い方
https://qiita.com/maiyama18/items/956ac41c4cf6cf85ae12sar コマンドの基本
https://qiita.com/keek123/items/18601dd5107facb9cdf5sadfコマンドでsarログのグラフファイルを生成する
https://zenn.dev/mqn22/articles/250fb751f00cdc
おわりに
sar
コマンドをWSL2で使ってみた。
サーバ上ではよく使うので覚えておきたい。