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