引数で指定されたPIDを持つプロセスのメモリ量を定期的に出力するbatファイルを作成した。
getMem.bat
@echo off set pid=%1 :loop set /p=%date% %time% <nul, tasklist /fo csv /fi "pid eq %pid%" /nh timeout 60 > nul goto :loop
メモリ量を取得したいプロセスのPIDを引数にして、例えば、
getMem.bat 9928
と実行すると、以下のように60秒間隔で対象プロセスのメモリ量を取得する。(メモリ値は最後のカラム)
2018/09/17 19:14:51.17 ,"chrome.exe","9928","Console","1","198,056 K"
2018/09/17 19:15:51.16 ,"chrome.exe","9928","Console","1","198,864 K"
2018/09/17 19:16:51.15 ,"chrome.exe","9928","Console","1","198,452 K"
2018/09/17 19:17:03.80 ,"chrome.exe","9928","Console","1","198,784 K"
・・・
上記ようにcsv 形式で出力しているので、これをエクセルで開けばグラフが簡単に描ける。メモリリークの調査などに使用すると便利だと思う。