Использование монитора пула памяти (Poolmon.exe) для разрешения проблем с утечками памяти режима ядра

Переводы статьи Переводы статьи
Код статьи: 177415 - Vizualiza?i produsele pentru care se aplic? acest articol.
Внимание! Статья содержит сведения о внесении изменений в системный реестр. Перед внесением изменений в системный реестр рекомендуется создать резервную копию системного реестра и изучить процедуру его восстановления. Дополнительные сведения об архивации, восстановлении и изменении реестра см. в следующей статье базы знаний Майкрософт:
256986 Описание реестра Microsoft Windows
Развернуть все | Свернуть все

В этой статье

Аннотация

В данной статье рассматривается использование монитора пула памяти (Poolmon.exe) для управления тегами памяти. Средство Poolmon отображает получаемые операционной системой данные о выделении памяти из выгружаемых и невыгружаемых системных пулов ядра, а также из пулов памяти, используемых для сеансов служб терминалов. Эти данные группируются по тегу распределения пула. Данные сведения могут использоваться службами технической поддержки Майкрософт для выявления утечки памяти режима ядра.

Причиной утечки памяти являются приложения и процессы, которые выделяют память для использования, но не освобождают ее после завершения операции. В результате со временем вся доступная память оказывается занятой, что часто приводит к невозможности корректной работы системы.

Дополнительная информация

В первом из приведенных ниже разделов содержатся сведения о включении режима тегов, позволяющего использовать средство Poolmon. Во втором описано, как собрать необходимые данные для устранения проблемы с помощью средства Poolmon.

Включение режима тегов

Перед запуском средства PoolMon необходимо включить режим маркировки пулов и перезагрузить компьютер. Режим маркировки пулов позволят собрать и обработать статистику о памяти пула, отсортированной по тегу, отображающему данные выделения памяти.

Примечание. В Windows Server 2003 режим маркировки пулов включен по умолчанию.

Чтобы включить режим тегов в Windows NT 4.0, Windows 2000 или Windows XP, воспользуйтесь одним из следующих способов:

Способ 1. Редактирование реестра

Внимание! Неправильное использование редактора реестра может привести к возникновению серьезных неполадок, требующих переустановки операционной системы. Корпорация Майкрософт не несет ответственности за неправильное использование редактора реестра. При изменении реестра полагайтесь на свой опыт и знания.

Чтобы изменить значение параметра реестра, включающего режим тегов для средства Poolmon.exe, выполните следующие действия:
  1. Откройте редактор реестра.
  2. Найдите следующий раздел реестра:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager
  3. Выпишите значение параметра GlobalFlag или сохраните раздел
    Session Manager
    .
  4. В правой области окна редактора реестра дважды щелкните параметр GlobalFlag.
  5. Присвойте параметру шестнадцатеричное значение 0x00000400.

    Примечание. После добавления для данного параметра значения 0x00000400 оно отображается как 0x400. Обязательно добавьте все начальные нули, иначе некоторые данные средства Poolmon не будут отображаться на экране результатов.
  6. Перезагрузите компьютер.
Примечание. После завершения отладки измените значение параметра GlobalFlag на исходное значение, зафиксированное в ходе выполнения пункта 3.

Способ 2: Средство Gflags.exe

Для включения режима тегов также можно использовать редактор глобальных флагов (Gflags.exe). Средство Gflags.exe входит в состав пакета Windows NT 4.0 Resource Kit и в состав папки \Support\Tools на установочных компакт-дисках Windows 2000, Windows XP и Windows Server 2003.

Примечание. Поскольку режим тегов в Windows Server 2003 включен по умолчанию, флажок Использовать маркировку пулов в диалоговом окне Глобальные флаги недоступен (затенен), а выполнение команд по включению или отключению данного режима невозможно.

Чтобы внести необходимые изменения с помощью средства Gflags.exe, выполните следующие действия.
  1. Выберите в меню Пуск пункт Выполнить, введите команду gflags.exe и нажмите кнопку .
  2. Установите флажок Использовать маркировку пулов.
  3. Нажмите кнопку Применить, а затем ОК.
  4. Перезагрузите компьютер.
Примечание. После завершения отладки повторите вышеуказанные действия, чтобы отключить режим тегов.

Использование средства Poolmon для сбора данных

Средство PoolMon отображает сведения о тегах пулов в командном окне. Чтобы пролистать данные в командном окне, воспользуйтесь клавишами со стрелками либо клавишами PAGE UP и PAGE DOWN.

Средство Poolmon.exe входит в состав пакета Windows NT 4.0 Resource Kit и в состав папки \Support\Tools на установочных компакт-дисках Windows 2000, Windows XP и Windows Server 2003.

Для копирования и сохранения сведений о тегах выполните следующие действия. Выполняйте эти действия повторно через каждые 15 минут в течение двух часов. Сохраняйте каждое обновление в конце текстового файла.
  1. В меню Пуск выберите команду Настройка, затем пункт Панель управления, после чего дважды щелкните значок Командная строка.

    Примечание. Для Windows 2000 выполните следующие действия:
    1. Выберите в меню Пуск пункт Выполнить, введите команду cmd и нажмите кнопку ОК.
    2. Щелкните заголовок правой кнопкой мыши и выберите команду Свойства.
  2. Откройте вкладку Параметры, щелкните Выделение мышью, а затем щелкните Быстрая вставка.
  3. На вкладке Расположение измените Размер буфера экрана на 99 и нажмите кнопку .
  4. Нажмите кнопку Пуск, выберите пункт Программы и запустите программу Командная строка.
  5. Найдите файл Poolmon.exe в папке Support\Debug\платформа на компакт-диске Windows NT 4.0. Измените диск и папку, в которой находится файл Poolmon.exe. На компакт-диске Windows 2000 файл Poolmon.exe находится в архиве Support.CAB. Архив Support.CAB расположен в папке \Support\Tools.
  6. Введите Poolmon.exe.
  7. Нажимайте клавишу P, пока средство Poolmon не отобразит тип второго столбца и значение paged.
  8. Нажмите клавишу B, чтобы упорядочить столбцы по убыванию размера.
  9. Выделите все содержимое экрана и нажмите клавишу ВВОД.
  10. Нажмите кнопку Пуск и последовательно выберите пункты Программы, Стандартные и Блокнот.
  11. В меню Правка выберите команду Вставить.
  12. Повторите пункт 7, чтобы найти значение nonpaged.
  13. Повторите действия 8–11, чтобы вставить содержимое в файл.
Команда Poolmon.exe имеет несколько ключей, определяющих режим сортировки. Для выполнения операции нажмите одну из указанных ниже клавиш. Выполнение каждой команды занимает несколько секунд. Ниже приводится список некоторых команд:
P - Сортировка списка тегов по значению Paged, Non-Paged или комбинированному значению. Нажатие клавиши P циклически пролистывает значения.
B - Сортировка тегов по использованию максимального числа байтов.
B - Сортировка тегов по выделению максимального числа байтов.
T - Сортировка тегов по имени в алфавитном порядке.
E - Отображение суммарного значения Paged, Non-paged в нижней части экрана. Нажатие клавиши циклически пролистывает значения.
A - Сортировка тегов по размеру выделения.
A - Сортировка тегов по свободным областям.
S - Сортировка тегов по различию между выделенными и свободными областями.
E - Отображение суммарного значения Paged, Non-paged в нижней части экрана. Нажатие клавиши циклически пролистывает значения.
Q - Выход.
Дополнительные сведения см. в следующей статье базы знаний Майкрософт:
298102 Как найти теги пулов, используемые драйверами сторонних разработчиков (эта ссылка может указывать на содержимое полностью или частично на английском языке)

Свойства

Код статьи: 177415 - Последний отзыв: 3 декабря 2007 г. - Revision: 5.4
Информация в данной статье относится к следующим продуктам.
  • Microsoft Windows Server 2003, 64-Bit Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Tablet PC Edition
  • операционная система Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server
  • Операционная система Microsoft Windows 2000 Professional
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 4.0, Terminal Server Edition
  • Microsoft Windows NT Server 4.0 Enterprise Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
Ключевые слова: 
kbhowto KB177415

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com