Поделиться через


Используйте perfmon, чтобы определить, существует ли утечка памяти

Если производительность Windows снижается с течением времени, и вы подозреваете, что утечка памяти может быть связана, используйте Windows Монитор производительности для расследования утечки памяти. Этот процесс не будет указывать источник утечки, а также не является ли он режимом пользователя или режимом ядра.

Начните с запуска Монитор производительности. Чтобы открыть Монитор производительности, используйте одну из следующих процедур:

  • Откройте меню "Пуск", найдите Монитор производительности и щелкните результат
  • Windows Key + R Используйте сочетание клавиш, чтобы открыть команду Run, введите perfmonи нажмите кнопку "ОК", чтобы открыть.

Добавление счетчиков

После открытия Монитор производительности добавьте следующие счетчики в основной Монитор производительности граф. Щелкните правой кнопкой мыши Монитор производительности в разделе "Средства мониторинга" и выберите "Свойства".

  • Память-пул> непагированные байты

  • >Байты страниц в пуле памяти

  • Использование файлов на разбиении на страницах>

Установка длительности для записи достаточного количества действий

Чтобы захватить график утечки с течением времени, установите образец каждые 600 секунд, чтобы измерять значение каждые десять минут. Задайте длительность для записи достаточного количества действий. Например, чтобы задать для него значение 24 часа, это 60*60*24 = 86,400 значение также может потребоваться записать данные в файл для последующего изучения.

Запуск приложения и мониторинг

Запустите приложение или проверьте, что вы считаете, вызывает утечку. Разрешите приложению или тесту не беспокоиться в течение некоторого времени; Не используйте целевой компьютер в это время. Утечки обычно медленно и могут занять несколько часов для обнаружения. Подождите несколько часов, прежде чем решить, произошла ли утечка.

Отслеживайте счетчики Монитор производительности. После запуска теста значения счетчиков будут быстро меняться, и может потребоваться некоторое время, чтобы значения пулов памяти достигли устойчивого состояния.

Утечки памяти в режиме пользователя всегда находятся в пуле страниц и приводят к постоянному увеличению числа счетчиков байтов пула и счетчика использования файла страницы. Утечки памяти в режиме ядра обычно истощают непагованный пул, что приводит к увеличению счетчика байтов , нераскрытого пула, хотя можно также повлиять на страницы памяти. Иногда эти счетчики могут отображать ложные срабатывания, так как приложение кэширование данных.