Poolmonを使用してメモリプールのリークを探しています。 KB記事 では、カットアンドペーストを使用して出力を手動でキャプチャする方法について説明しています。これを自動化する方法はありませんか?
ツールはそれをサポートしていないようであるため、私のアイデアは2つのコマンドプロンプト(1つはページプール用、もう1つは非ページプール用)を実行し、ツールを使用して自動スクリーンショットを作成することでした。これが可能であれば、どのツールを提案しますか?手動の介入なしにコマンドプロンプトからテキストを切り取ることができるツールはありますか?
バージョン5.2.3790.0(W2K3 RTMサポートツールから)から)では、「スナップショット」ファイルを指定できます。
poolmon -n filename.log
ページングされたプールエントリとページングされていないプールエントリの両方がこのファイルに書き込まれます。
スケジュールされたタスクを使用して、以下を定期的に実行します。
@echo off
SET POOLMON="C:\Program Files\Support Tools\Poolmon.exe"
SET OUTDIR=C:\WINDOWS\TEMP
SET YEAR=%DATE:~10,4%
SET MONTH=%DATE:~4,2%
SET DAY=%DATE:~7,2%
SET HOUR=%TIME:~0,2%
IF /I %HOUR% LEQ 9 SET HOUR=0%HOUR:~1,1%
SET MINUTE=%TIME:~3,2%
SET SECOND=%TIME:~6,2%
SET ISODATE=%YEAR%-%MONTH%-%DAY%_%HOUR%-%MINUTE%-%SECOND%
%POOLMON% -n %OUTDIR%\poolmon.%ISODATE%.log
Poolmon.exeのパスを指すようにPOOLMONを設定し、出力を書き込むディレクトリを指すようにOUTDIRを設定すると、次の形式の出力ファイルが得られます。
poolmon.YYYY-MM-DD_HH-MM-SS.log
そのスクリプトをスケジュールされたタスクに投入すれば、ビジネスを開始できます。
Rem You need sleep.exe and poolmon to run.
echo off
C:
cd \
MD Poolmon-log
cd poolmon-log
Explorer c:\poolmon-log
SET POOLMON="Poolmon.exe"
SET OUTDIR=C:\poolmon-log\
SET YEAR=%DATE:~8,4%
SET MONTH=%DATE:~3,2%
SET DAY=%DATE:~0,2%
SET HOUR=%TIME:~0,2%
IF /I %HOUR% LEQ 9 SET HOUR=0%HOUR:~1,1%
SET MINUTE=%TIME:~3,2%
SET SECOND=%TIME:~6,2%
SET ISODATE=%DAY%-%MONTH%-%Year%_%HOUR%-%MINUTE%-%SECOND%
:Top1
%POOLMON% /p /p /b -n %OUTDIR%poolmon-%ISODATE%.log
sleep 3600
goto top1
pause
上記はアイルランドで機能します。 Explorerは、フォルダを自動的に開いて表示します。ログは30分ごとにダンプされます。