ぶていのログでぶログ

思い出したが吉日

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パッケージが完成した。 便利。