Почему моя виртуальная машина не использует всю память, выделенную ему? [дубликат]

Возможный дубликат:
Карты памяти, 32 и 64 бита ОС

У меня есть виртуальная машина VMware на моем компьютере (Хост: Win7 x64, VM: Win7 x86). Хост имеет 8 ГБ, из которых я выделил 4 ГБ VM, как Вы видите в ниже снимка экрана:

alt text

Но когда я перехожу к самому VM, компьютер, кажется, думает, что только имеет 3 ГБ - см. снимок экрана от Диспетчера задач:

alt text

Отметьте общую физическую память 3 071 ГБ. Я попытался выключить VM и перезапустить, но он все еще не использует дополнительную память.

См. также мой снимок экрана системы: alt text

Действительно ли это - ограничение VMware? Или есть ли некоторый секретный переключатель, который я должен зеркально отразить?

2
задан 20.03.2017, 12:17

4 ответа

Обычно операционная система на 32 бита может только видеть 4 ГБ памяти, включая устройства (видеокарта и т.д.). Это приводит к ОС, видя 3 ГБ физической памяти, даже если больше чем 3 ГБ установлены. Это верно для реальных машин и VMs.

Windows XP на 32 бита, как Windows 2003 Server и позже, поддерживаемый PAE (Расширения физического адреса), которые позволили этому использовать больше чем 4 ГБ физической памяти. Windows Vista и Windows 7 больше не поддерживают PAE из-за несовместимостей драйвера, которые уже присутствовали в Windows XP.

Таким образом Windows на обычно только 64 бита поддерживает больше чем 3 ГБ физической памяти плюс версии на 32 бита Windows, поддерживающего PAE (Windows 2000, Windows XP, Windows Server 2003, Windows Server 2008); в то время как версии на 32 бита Windows, которые не поддерживают PAE (Windows Vista, Windows 7) не могут обычно видеть больше чем 3 ГБ физической памяти.

Снова обратите внимание, что память, присвоенная VM, рассчитывает как "физическая память" для ОС, работающей в VM.

7
ответ дан 08.12.2019, 04:36

Машины на 32 бита могут только обратиться, (посмотрите) 3 ГБ поршня. Ваш VM может предоставлять ему 4 ГБ, но это может только использовать 3 ГБ из него. Если Вы хотите использовать остающееся пространство, установите ОС на 64 бита в VM.

8
ответ дан 08.12.2019, 04:36

Возможности состоят в том, что VM выполняет в хосте ОС как 32-разрядную программу так, чтобы это могло правильно поддерживать 32-разрядного гостя. Это означает, что подвергается 32-разрядным ограничениям и как таковой память, которую это может выделить, подвергается Виртуальному адресному пространству на 3 ГБ и Пространственным ограничениям Ядра на 1 ГБ, которые помещаются в 32-разрядные программы.

Хороший блог об этом: http://blogs.technet.com/b/askperf/archive/2007/03/23/memory-management-demystifying-3gb.aspx

От той страницы Ваше адресное пространство для программы хостинга было бы похоже на это:

alt text

И Ваш VM был бы заблокирован в 3 ГБ пространства, поскольку заключительный ГБ требуется, чтобы 32 битных программы имели доступ к системным драйверам на Вашем хосте.

3
ответ дан 08.12.2019, 04:36

Если Вы видите этот случай с 64-разрядным VMs, это - потому что некоторые продукты VMware, как ESX/ESXi и Рабочая станция могут превысить возможности RAM к виртуальным машинам.

Это позволяет нескольким VMs работать с большим количеством RAM, выделенной им, чем хост-машина физически имеет. В то время как RAM сверхпредана им, они только на самом деле получают RAM динамично, после того как им на самом деле нужна она.

1
ответ дан 08.12.2019, 04:36

Теги

Похожие вопросы