Я знаю, что я немного разбираюсь в диспетчере задач Windows в XP, но я хотел бы лучше понять его в Vista. В чем разница между «Рабочий набор (память)» и «Память (частный рабочий набор)». Что такое Paged Pool, что такое NP Pool (Non-Paged?). Как использовать их для определения того, что происходит с использованием памяти? В стороне, когда вы сворачиваете программу, она часто возвращает 90% используемой памяти. Есть ли способ сделать это, не сводя к минимуму?Знание программистом памяти в Vista диспетчер задач Windows
ответ
This MSDN blog entry может быть информативным с первой части вопроса. Краткий отрывок:
Рабочий набор - это подмножество виртуальных страниц, которые находятся только в физической памяти; это будет частичное количество страниц этого процесса.
Как обсуждалось в статье, часть о частном и не-частном имеет отношение к памяти, используемой процессом, который может использоваться другими процессами. Если вы не можете разделить память (возможно, память используется образ DLL, необходимо переместить в память), она становится частной. Память кучи также всегда будет конфиденциальной.
Причина, по которой вы резко снижаете падение памяти при минимизации программы, заключается в том, что Windows автоматически обрезает рабочий набор процесса всякий раз, когда его главное окно минимизируется. См. this Microsoft KB article для получения дополнительной информации, включая инструкции о том, как это сделать самостоятельно.
Выгружаемый пул и память не выгружаемого пула относится к памяти ядра, используемой процессом. Память из выгружаемого пула может быть выгружена (удалена из физической памяти при увеличении давления памяти). Память из неуправляемого пула всегда будет оставаться в физической памяти, поэтому, как правило, предпочтительно оставаться маленьким. Если вы не пишете драйверы устройств, однако, как разработчик приложений в пользовательском режиме, вам вообще не нужно беспокоиться об этих двух элементах.
Vista SuperFetch считает, что свободная память - это потерянная память. Лучше использовать его как кеш. Вот почему вы часто видите скудную память в диспетчере задач.