ぶていのログでぶログ

思い出したが吉日

WSL環境にperfコマンドをインストールするためのdebパッケージを作った

github.com

タイトル通り。 私の使っているUbuntu23.10 on WSLでは、WSLカーネルの 5.15.123.1-microsoft-standard-WSL2 なlinux-toolsパッケージがなくperfコマンドが使えなくて不便だったので、perfコマンドだけを収録したdebパッケージを作った。 一応手元では問題なく動作しているように見える。が、私が使わない機能ではもしかしたら不都合があるかもしれない。

$ perf stat uname -r
5.15.123.1-microsoft-standard-WSL2
Performance counter stats for 'uname -r':
0.50 msec task-clock:u # 0.391 CPUs utilized
0 context-switches:u # 0.000 /sec
0 cpu-migrations:u # 0.000 /sec
76 page-faults:u # 152.305 K/sec
573755 cycles:u # 1.150 GHz
16058 stalled-cycles-frontend:u # 2.80% frontend cycles idle
0 stalled-cycles-backend:u # 0.00% backend cycles idle
333384 instructions:u # 0.58 insn per cycle
# 0.05 stalled cycles per insn
74146 branches:u # 148.589 M/sec
4360 branch-misses:u # 5.88% of all branches
0.001277500 seconds time elapsed
0.000075000 seconds user
0.000000000 seconds sys

perfのビルドについて

WSLで使われているカーネルは以下のリポジトリにある。

github.com

そして、[WSL perf]などでGoogle検索するとこのリポジトリをgit cloneしてtools/perf以下でmakeしろっとでてくる。 その通りすればperfがビルドできる。 あとはdpkg-deb --buildに必要なファイルをChatGPTに生成してもらえばdebパッケージが完成した。 便利。