Windows XP + PAE + 6 ГБ ОЗУ: больше 3,5 ГБ?

Во-первых, позвольте мне сказать, что я видел много похожих вопросов о SuperUser, и я не думаю, что это дубликат. (Большинство адресов 4 ГБ ОЗУ установлено. У меня 6 ГБ)

У меня 32-разрядная версия Windows XP, работающая в системе Xeon на базе i7 с 6 ГБ ОЗУ. Я вижу только 3,5 ГБ оперативной памяти в Windows.

Есть ли способ выжать больше видимой оперативной памяти из этой установки? Даже дополнительный 1 ГБ был бы отличным.

Помогает ли вообще наличие 6 ГБ (против 4 ГБ) ОЗУ? (Т.е., даже если я потеряю область 3,5-4,0 ГБ, могу ли я использовать область над ней?)

PS В конечном итоге перейдем на 64-разрядную версию Windows 7, но пока не могу.

6 ответов

Решение

Даже с включенными расширениями физических адресов Windows XP по-прежнему позволяет использовать только 4 ГБ памяти. Я знаю, что это может немного сбивать с толку, поскольку Windows Server 2003 позволяет использовать до 64 ГБ ОЗУ (при соответствующей поддержке процессора). К сожалению, ваша ОС ограничена 4 ГБ в этом случае. Ядро может поддерживать до 64 ГБ с PAE, но оно заблокировано в XP. Кажется, единственная причина, по которой они до сих пор включают это, - поддержка DEP. Из расширения физического адреса - PAE Memory и Windows:

Хотя поддержка памяти PAE обычно связана с поддержкой более 4 ГБ ОЗУ, PAE можно включить в Windows XP SP2, Windows Server 2003 и более поздних 32-разрядных версиях Windows для поддержки аппаратно-принудительного предотвращения выполнения данных (DEP).

РЕДАКТИРОВАТЬ: Я просто хочу добавить, что эта 4 ГБ крышка включает в себя выделенную видеопамять или память, выделенную для встроенного графического процессора.

Нет. Вы не увидите больше 3,5 ГБ, пока не перейдете на 64-разрядную операционную систему. Если вам нужно использовать все 6 ГБ сейчас, вам нужно будет установить "возможную" 64-разрядную версию Win7 сейчас.

Насколько я могу понять:

32-разрядные процессоры изначально имеют 4 ГБ (2^32 [бит]) адресного пространства - точка. Из-за MMIO (Memory-Mapped Input / Output) часть этого пространства также используется для связи и обращения к памяти ваших периферийных устройств (например, карт GFX).

Чтобы поддерживать приложения с большим объемом памяти и компенсировать поддержку материнской платы 8 ГБ +, Intel (а затем и AMD) представила PAE (расширение физических адресов), чтобы увеличить адресное пространство до 48 бит (и позже 52 бит) соответственно.

Это достигается путем отправки адресов памяти в 2+ "порции" ( адресация с двумя циклами) - первые 32 бита в 1 цикле и оставшиеся биты в последовательных циклах после этого.

Однако, чтобы использовать эту новую платформу, производители оборудования должны были интегрировать поддержку DCA (также известный как DAC) в свои соответствующие продукты, обычно требуя значительного пересмотра оборудования и специальных драйверов с поддержкой PAE.

Программное обеспечение также необходимо было переписать для поддержки Large Address Awareness, что позволило выделить более 2 ГБ пространства памяти приложения по умолчанию. Излишне говорить, что из-за большого количества программных и аппаратных изменений и вскоре после появления 64-разрядных процессоров технология (хотя и популярная в серверных и корпоративных средах) никогда существенно не выходила на рынок конечных пользователей.

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

PAE (вне DEP) был отключен SP1 или SP2. MS не будет поддерживать это, потому что так много приложений не могут справиться с этим. Он был оставлен для своих серверных ОС, потому что корпоративные приложения обычно написаны лучше и потому что 32-битные серверы могли использовать оперативную память.

PAE практически бесполезен вне серверных ОС. Даже тогда его предельная полезность. Максимум каждый процесс может в любом случае адресовать всего 4 ГБ.

Из Википедии:

В оригинальных выпусках Windows XP и Windows XP SP1 использовался режим PAE, чтобы объем памяти превышал 4 ГБ. Однако это привело к проблемам совместимости со сторонними драйверами, в результате чего Microsoft удалила эту возможность в Windows XP с пакетом обновления 2 (SP2) для Windows XP и более поздних версий, по умолчанию на процессорах с отключенным выполнением (NX) или отключением выполнения (XD).), работает в режиме PAE, чтобы разрешить NX.[18] Бит без выполнения (NX или XD для отключения выполнения) находится в бите 63 записи таблицы страниц, и без PAE записи таблицы страниц в 32-битных системах имеют только 32 бита; поэтому режим PAE необходим для использования функции NX. Однако "клиентские" версии 32-разрядной версии Windows (Windows XP SP2 и более поздние версии, Windows Vista, Windows 7) ограничивают физическое адресное пространство первыми 4 ГБ для совместимости драйверов [14] с помощью механизма ограничения лицензирования [13], хотя эти версии работают в режиме PAE, если включена поддержка NX.

Исходя из этого, может показаться, что если у вас установлена ​​ОС до SP2 XP, вы можете получить более 4 ГБ памяти.

Другие вопросы по тегам