Назад | Перейти на главную страницу

Автоматически фиксировать вывод poolmon

Я ищу утечку пула памяти с помощью poolmon. в Статья в базе знаний, они объясняют, как получить результат вручную с помощью функции вырезания и вставки. Нет ли способа это автоматизировать?

Поскольку инструмент, похоже, не поддерживает его, я решил запустить две командные строки (одну для выгружаемого пула, а другой - для невыгружаемого пула) и использовать инструмент для автоматического создания снимка экрана. Если бы это было возможно, какой инструмент вы бы порекомендовали? Есть ли инструмент, который может вырезать текст из командной строки без ручного вмешательства?

В версии 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, чтобы он указывал на путь к Poolmon.exe и 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

Вышесказанное работает в Ирландии. Проводник автоматически откроет папку для просмотра. Журналы выгружаются каждые 30 минут.