Прочитать на английском

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


Сведения о рабочем наборе

Рабочий набор процесса — это объем памяти, физически сопоставленный с контекстом процесса. PSAPI позволяет создавать моментальные снимки рабочего набора или отслеживать рабочий набор.

Функция QueryWorkingSet или QueryWorkingSetEx заполняет буфер моментальным снимком сведений для каждой страницы в текущем рабочем наборе указанного процесса. Функция сообщает только те страницы, которые физически присутствуют в тот момент, когда он вызывается.

Вы можете использовать мониторинг рабочего набора, чтобы узнать, сколько дополнительных ОЗУ занимает определенная операция (например, сохранение файла). Чтобы начать мониторинг рабочего набора, вызовите функцию InitializeProcessForWsWatch. Не все процессы позволяют считывать сведения о рабочем наборе, поэтому убедитесь, что функция возвращает ненулевое значение перед продолжением. Затем вызовите функцию GetWsChanges. Эта функция сообщает только страницы, загруженные в память с момента начала мониторинга рабочего набора. Функция возвращает данные в массиве структур PSAPI_WS_WATCH_INFORMATION, одна структура для каждой новой страницы, добавленной в рабочий набор процесса. Структура сообщает, какие страницы находятся в памяти, и что привело к их просмотру системой.

Функция EmptyWorkingSet принимает дескриптор процесса. Он удаляет как можно больше страниц из рабочего набора процессов. Эта операция полезна в первую очередь для тестирования и настройки. Обратите внимание, что функция setProcessWorkingSetSize выполняет то же самое, если передать ее -1 для минимальных и максимальных размеров.

рабочий набор