Есть кое-что об управлении памятью Windows и его связи с TaskManager, чего я не понимаю, и я надеюсь, что кто-то может меня просветить.
Если я запускаю виртуальную машину (не имеет значения, Virtual PC 2007, Virtual Server 2005 или VirtualBox, поскольку они действуют одинаково) и вызываю TaskManager, я вижу на вкладке процессов некоторые записи для виртуальной машины, но объем памяти довольно мал (около 30 МБ). Очевидно, это не включает память, фактически потребляемую самой виртуальной машиной. Ни один из столбцов, связанных с памятью, которые вы можете сделать видимыми, не работает иначе. Использование памяти на вкладке «Производительность» соответствует общему использованию памяти, включая виртуальную машину.
Итак, мой вопрос: почему использование памяти виртуальной машины (которое будет составлять 100 МБ) не отображается на вкладке «Процессы»?
VirtualPC, HyperV и, вероятно, аналогичные продукты используют так называемую память с блокировкой драйверов, которая не отображается в Process Explorer, Task Manager и т. Д. RAMMap покажет вам заблокированную драйвером память, используемую процессом.
Любая размещенная система виртуализации, подобная перечисленным вами, будет включать драйвер устройства, работающий в ядре ОС хоста. Это необходимо, поскольку программы пользовательского режима не могут выдавать инструкции, необходимые для создания виртуальной машины.
Причина, по которой вы не видите память в диспетчере задач, заключается в том, что вы смотрите на память для программ пользовательского режима, связанных с виртуальными машинами, а не на драйвер устройства режима ядра, который фактически выделил память для виртуальных машин.
Чтобы просмотреть объем памяти, используемый виртуальной машиной, необходимо убедиться, что столбец «Рабочий набор» отображается в диспетчере задач. Часто виден только частный набор.
Чтобы включить этот столбец:
1) Запустить диспетчер задач
2) Перейдите на вкладку "Процессы"
3) Просмотр> Выбрать столбцы
4) Убедитесь, что стоит галочка «Память - Рабочий набор».
Например, частный набор виртуальной машины, которую я использую в данный момент, составляет 43 МБ, а рабочий набор - 2,3 ГБ.