WSL2でsarコマンドを使う

はじめに

WSL2sarコマンドを使った際の備忘録

環境

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コマンドを使う

見方

列名説明
CPUCPUのタイプ(allはすべてのCPUの平均値)
%userユーザプロセスが使用したCPU時間の割合
%nice優先度を下げたプロセスが使用したCPU時間の割合
%systemシステムカーネルが使用したCPU時間の割合
%iowaitI/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/s1秒あたりの受信パケット数
txpck/s1秒あたりの送信パケット数
rxkB/s1秒あたりの受信データ量(KB)
txkB/s1秒あたりの送信データ量(KB)
rxcmp/s1秒あたりの受信圧縮パケット数
txcmp/s1秒あたりの送信圧縮パケット数
rxmcst/s1秒あたりの受信マルチキャストパケット数
結果
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
tps1秒あたりのトランザクション数(I/Oリクエスト数)
rd_sec/s1秒あたりの読み込みセクタ数
wr_sec/s1秒あたりの書き込みセクタ数
avgrq-sz平均リクエストサイズ(セクタ単位)
avgqu-sz平均キュー長(I/O要求の平均キューサイズ)
awaitI/Oリクエストの平均待ち時間(ms)
svctmI/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

Linux 5.15.153.1-microsoft-standard-WSL2 (kbushi) 09/21/24 _x86_64_ (24 CPU)CPU utilization [all](Min, Max values)%user (0.00, 0.24)%nice (0.00, 0.00)%system (0.07, 0.28)%iowait (0.01, 0.14)%steal (0.00, 0.00)0.25.50.75.100.07:10:1107:14:1107:18:1107:22:1107:26:1107:30:1107:34:1107:38:1107:42:1107:46:1107:50:11

指定した日付+時間でsvg出力をする

sadf /var/log/sysstat/sa21 -T -g -s "07:00:00" -e "08:00:00" -- -u > cpu_usage_7_00_8_00.svg
Linux 5.15.153.1-microsoft-standard-WSL2 (kbushi) 09/21/24 _x86_64_ (24 CPU)CPU utilization [all](Min, Max values)%user (0.00, 0.24)%nice (0.00, 0.00)%system (0.07, 0.28)%iowait (0.01, 0.14)%steal (0.00, 0.00)0.25.50.75.100.07:10:1107:14:1107:18:1107:22:1107:26:1107:30:1107:34:1107:38:1107:42:1107:46:1107:50:11

参考

おわりに

sarコマンドをWSL2で使ってみた。
サーバ上ではよく使うので覚えておきたい。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。