Извините, но все эти ответы не попадают в цель.
Краткий ответ: столбец VM size
не отражает общее виртуальное адресное пространство ("vas"), определенное процессом. Это только часть этого. В частности, это адресное пространство с частной фиксацией (также известное как "фиксация" процесса).
В то время как столбец Mem Usage
показывает подмножество общего виртуального адресного пространства процесса, которое является "допустимым" для процесса, то есть к нему можно получить доступ, не вызывая ошибки страницы.
(Обычно, но неточно утверждать, что это подмножество находится "в ОЗУ". "Действительный" - то есть в рабочем наборе процесса - означает, что он находится в памяти и к нему можно получить доступ, не вызывая ошибки страницы. Но из-за действия кэшей страниц (резервные и измененные списки страниц), а также совместно используемой памяти обычно имеется довольно много vas процесса, который находится в ОЗУ, но требует доступа к странице сбоя ... но это будет "мягкая" ошибка страницы, то есть та, которая не связана с дисковым вводом / выводом. После разрешения страница находится в рабочем рабочем наборе, и дальнейшие ссылки на нее не приведут к ошибкам ... если только она позднее не выйдет из рабочего набора.)
Так что, если VM size
- это не весь виртуальный размер процесса, то где же он? Другим основным вкладчиком в общее виртуальное адресное пространство процесса является сопоставленное адресное пространство. Разница между ними в том, что частные преданные вас - с этого момента я буду просто называть это частными; не существует такой вещи, как private non-commit - поддерживается файлом подкачки, в то время как сопоставленный vas поддерживается файлами, на которые он отображается.
"Подкреплено" означает, что часть, которая не может быть сохранена в ОЗУ, хранится в этих файлах.
Есть также невыгружаемое виртуальное пространство (очень маленькое) и, возможно, "физически отображаемая" память (очень редко используемая).
Все это можно назвать общим доступным виртуальным адресным пространством процесса, потому что на все это можно ссылаться без нарушения доступа к памяти (но для частей с возможностью просмотра страниц может произойти сбой страницы, но это не так). Это означает, что они недоступны; это просто означает, что первый доступ занимает немного больше времени).
Первые две части, частные привержен и сопоставляются адресное пространство, можно было бы назвать общее выгружаемой виртуальное адресное пространство.
Столбец Mem Usage
должен был называться «Рабочий набор (всего)». Как правило, он будет меньше, чем общее число страниц, к сожалению. Диспетчер задач в XP не имеет счетчика для последнего. Но в любом случае, столбец Mem Usage
показывает, какая часть общего виртуального адресного пространства страниц может быть использована процессом без возникновения ошибки страницы. Некоторые из них будут физическими страницами, связанными с частными зафиксированными страницами, а некоторые - с отображенными страницами.
Если бы в диспетчере задач XP было доступно еще несколько столбцов, вы бы увидели отношения, которые вы ожидаете увидеть: общее число доступных для просмотра страниц (для которых нет счетчика) никогда не должно быть меньше общего рабочего набора (называемого Mem Usage
в XP); и частное выделенное значение никогда не должно быть меньше, чем частная часть рабочего набора процесса.
Диспетчер задач в более поздних версиях Windows имеет еще несколько таких счетчиков. Инструмент Process Explorer от Sysinternals имеет еще больше. В Process Explorer:
"Рабочий набор" - это общий рабочий набор процесса
"WS Shareable" - это подмножество итогового значения, которое потенциально может использоваться совместно с другими процессами (это подмножество сопоставленных vas)
"WS Shared" - это подмножество "WS Shareable", которое фактически используется совместно с другими процессами, т. Е. Оно также входит в рабочие наборы некоторых других процессов.
"WS Private" - это подмножество "рабочего набора", которое нельзя использовать совместно с другими процессами. Это связано и подмножество частных совершенных процессов
"Private Bytes" - это частное обязательство процесса. Вы заметите, что оно всегда больше, чем "WS Private", то есть отношения, которые вы ищете.
"Виртуальный размер" - это общее количество несвободных сосудов в процессе. Это включает в себя частные и общие vas, а также "зарезервированное" адресное пространство. "Зарезервировано" недоступно, практически не занимает физическое пространство, но резервирует диапазоны виртуальных адресов. Он не включает в себя физически отображаемые области (он же "память AWE"). На x64 в Win 8.1 и более поздних версиях он также может включать гигантскую область (2 147 483 648 К или 2 ТиБ), выделенную для новой функции под названием "Контроль потока защиты". Информацию об этом смотрите в этой записи в блоге Алекса Ионеску.