負荷計測系記事
https://tera1707.com/entry/2022/02/06/144447#Profile
やりたいこと
以前、WPRのUIがある版でCPU使用率のログを取ったが、
WPRのCLI版でもできるらしいのでやってみる。
前提
- Win11 home
- 22H2 22621.1413
やったこと(とりあえずデータをとる)
それほど難しいことをせずに、CPU使用率のログを取れた。
とりあえずログを取るだけなら、管理者権限でコマンドプロンプトを開いて、
これでデータ取りをスタートして、
wpr -start CPU
これでデータ取りをストップして、結果をファイルに書き出せばOK。
wpr -stop MyLogfile.etl
※「MyLogfile.etl」は好きなログファイル名にする。
これで出来たetlは、WPRUIでも使ったWPAで開くことができるので、そちらで解析を行う。
おそらくもっと細かい制御をできそうだが、いったんこれで事足りたので、これ以上はそれが必要になってから調べる。
やったこと 追記(軽量なデータをとる)
WPRのコマンドラインではなくUIのあるほう(WPRUI)でログ(.etl)を取った際、.2023年5月時点で、NET7のプロセスがいるとエラーでWPAで解析ができないということがあった。
その際、WPRUIでログを取るときに「Light」を指定してやるとエラーなくWPAで見れた。
それと同じように、WPRのCLIのほうでも、Lightでデータを取りたかったので、そのやり方を調べた。
結論、下記のようにすればよい。
wpr -start GeneralProfile.Light
GeneralProfile
というのは、標準のプロファイルのうちの一つで、とにかく初期調査段階ではこのプロファイルでデータ取ればよさそう。
標準のプロファイルは、引数なしの-profiles
オプションで一覧を見れる。
wpr -profiles
これを実行すると、こういうのが出てくる。
一番上に、今回使った「GeneralProfile」がいて、説明が「First Level Triage」とある。最初の問題切り分け、的な意味だと思うので、これをまずは使うのがよさそう。(で、CPUを特に見たい、とかなったら、「CPU」を使えばいいのかも。(未検証。GeneralProfileとCPUで取れるデータがどう違うのか、いずれ見てみたい))
さらに、組み込みプロファイルには、軽量(Light)と冗長(Verbose)の2つのバージョンがあり、「GeneralProfile.Light」とか「GeneralProfile.Verbose」で指定できる。
なにも指定しないと(「GeneralProfile」だけを書くと)、Verbose
扱いになる。
今回はLightにしたかったので、上のようにGeneralProfile.Light
にした。
参考
WPRのコマンドラインオプションの公式ページ
https://learn.microsoft.com/ja-jp/windows-hardware/test/wpt/wpr-command-line-options