web-dev-qa-db-ja.com

poolmonの出力を自動的にキャプチャします

Poolmonを使用してメモリプールのリークを探しています。 KB記事 では、カットアンドペーストを使用して出力を手動でキャプチャする方法について説明しています。これを自動化する方法はありませんか?

ツールはそれをサポートしていないようであるため、私のアイデアは2つのコマンドプロンプト(1つはページプール用、もう1つは非ページプール用)を実行し、ツールを使用して自動スクリーンショットを作成することでした。これが可能であれば、どのツールを提案しますか?手動の介入なしにコマンドプロンプトからテキストを切り取ることができるツールはありますか?

1
Aaron Digulla

バージョン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

そのスクリプトをスケジュールされたタスクに投入すれば、ビジネスを開始できます。

5
Evan Anderson
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分ごとにダンプされます。

0
Eamo