2

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

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

альтернативный текст

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

альтернативный текст

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

Смотрите также мой снимок экрана системы:альтернативный текст

Это ограничение VMWare? Или есть какой-то секретный переключатель, который мне нужно щелкнуть?

4 ответа4

8

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

7

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

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

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

Еще раз обратите внимание, что память, назначенная виртуальной машине, считается "физической памятью" для операционной системы, работающей на ней.

3

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

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

На этой странице ваше адресное пространство для хостинговой программы будет выглядеть так:

альтернативный текст

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

1

Если вы видите, что это происходит с 64-битными виртуальными машинами, это потому, что некоторые продукты VMware, такие как ESX/ESXi и Workstation, могут перегружать оперативную память виртуальными машинами.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .