Introduction
Windows でプログラムのパフォーマンス、特にメモリ使用量を計測しようとしたら、Jetbrains の dotMemory が鉄板だが、.NET に特化しすぎている。
Windows に標準で備わっている パフォーマンスモニタ (Perfmon.exe) もあるわけだが、これが使いにくいことこの上ない。
計測できる項目が多すぎて探すのが面倒だし、何よりも気に入らないのが、既に起動中のプロセスしか選択できない点。
(ひょっとしたら出来るのかもしれないが)
そんなパフォーマンスモニタだが、コマンドラインが用意されていて、こっちはお手軽に使える。
How to use?
typeperf.exe がコマンドライン。
下記はヘルプ。
1 | > typeperf /h |
パフォーマンス カウンターは計測する項目の事。
例えば、メモリに関することなら
1 | > typeperf -qx Memory |
がある。
これらをコマンドで直接指定してもいいし、テキストに貼り付けて読み込ませるのもいい。
まだ起動していないプロセスを指定し、起動直後から計測を行うことも可能。
例えば Google Chrome の使用メモリを 1 秒間隔で監視し、csv に吐き出してみる。
シェルを立ち上げ
1 | > typeperf "Process(chrome)\Private Bytes" -si 1 -o counter.csv |
と入力し、Google Chrome を起動する。
しばらくしてから、Google Chrome を終了し、typeperfを Ctrl+C で停止。
吐き出された監視結果は下記。
1 | "(PDH-CSV 4.0) (","\\XXXX-PC\Process(chrome)\Private Bytes" |
実にお手軽。