Второй раз за последние полгода перечитываю полезный документ: Intel Chipset 4 GB System Memory Support, в котором описывается природа ограничений на память, доступную в операционных системах.
Пытаюсь привести все знания в систему.
Вот основные тезисы.
Поправьте и дополните если что.
Ограничения на доступный операционке объем ОЗУ накладывают следующие компоненты:
- Процессор. В 32-х битном режиме процы могут адресовать лишь 4 Гб. Но начиная с PentiumPro появилась 36-ти битная адресная шина -> теоретически стали доступны 64Гб оперативы.
- Операционка. 32-х бинтые операционки поддерживают 4Гб памяти. Те из них, в которых есть поддержка процов c PAE, могут поддерживать больше (в зависимости от реализации и позиционирования на рынке).
Microsoft Windows Maximum Physical
Operating System Memory Supported
================= ================
Server 2003 Web Edition.........2 GB
2000 Professional...............4 GB
2000 Server.....................4 GB
XP Pro & Home Edition...........4 GB
Server 2003 Standard Edition....4 GB
2000 Advanced Server.....................8 GB
2000 Datacenter Server..................32 GB
Server 2003 Enterprise Edition..........32 GB
Server 2003 Datacenter Edition..........64 GB
XP 64 bit Edition.......................32 GB
Server 2003 Enterprise 64-bit Edition...64 GB
Server 2003 Datacenter 64-bit Edition..512 GB
Видно, что на 64-х битные операционки мелкософт так же зачем-то наложил ограничения, весьма далекие от теоретического предела.
По Висте я данных пока не видел и не искал.
- Чипсет. Тут не все до конца ясно. Вроде как чипсеты на i975 поддерживают 8Gb, на 865-м - 4Гб. Но все же нужно проверить. И по остальным чипсетам статистику собрать.
- Особенности архитектуры компьютера. Не все из первых 4-х гигов оперативной памяти доступны операционке для размещения в них данных и программ. Часть из этого адресного пространства отводится для работы с железом (PCI/PCI-E/FirmWare/VGA mem/etc), т.е. затеняется им. В зависимости от конфигурации компьютера объем затеняемого таким образом (железом) адресного пространства может варьироваться.
Но "перекрываемая" железом часть оперативной памяти может быть перенесена и размещена выше границы 4Гб. В биосах материнок для этого обычно есть соответствующие настройки (remap).
Что в итоге получаем в случае установки 4Гб ОЗУ ?
- Для 64-х битных операционок будет доступна вся установленная оперативка. *)
- Для 32-х битных операционок с поддержкой PAE так же будет доступна вся память. *)
- Для 32-х битных операционок без поддержки PAE (у которых доступное адресное пространство ограничено четырьмя гигами) доступным будет от 2,8 до 3,5 Гб оперативки, т.к. та часть оперативной памяти, что переброшена выше границы 4Гб (заремэплена), таким операционкам доступна не будет и пропадет зазря.
- Для Server 2003 Web Edition в любом случае доступным будет только 2 Гб (ограничение самой операционки).
*) Для п1 и п2 те же самые выводы справедливы и для объемов памяти больших 4Gb, но меньших официально допустимых для данной операционки ограничений (см .таблицу). Не забываем так же про ограничения чипсетов.
Остаются невыясненными еще несколько вопросов.
Один из них: в чем различия между hardware и software remap в биосах некоторых материнок на nForce'вских чипсетах ?
Наверняка что-то переврал, поправьте, плиз.
[/][/]
xKVtor Специально сейчас облазил БИОС ASUS M2N32 WS pro
Никаких слов про REMAP не нашел, что с ключем PAE, что без оного XP говорит про 3.5G и PAE, а CPU-z видет все 4G, равно как и Debian 4.0 Etch AMD64 edition
За несоответствие действительности Вашим о ней представлениям администрация форума ответственности не несет.
rgt
Я точно помню, что видел подобную настройку в биосе какой-то асусовской мамки со встроенным видео на н-форсовском чипсете (то ли 6100, то ли 6150), когда впервые столкнулся с описываемой проблемой. В настройках северного моста.
Тут получается одно из двух.
Либо, чтобы включить PAE нужно еще что-то подкрутить, кроме ключа в boot.ini.
Либо, что более вероятно, в WinXP PAE не работает должным образом. Вполне возможно введено ограничение на адресуемую операционкой физическую память (из коммерческих соображений).
Выходит, в приведенной выше таблице операционок указанана максимально адресуемая память.
Поскольку для винXP значится максимально адресуемая память 4Гб (включая адресное пространство ПЦИ), то все что выше границы 4Gb (в том числе заремэпленый кусок, выведенный из "тени") экспе недоступно. Потому и получается доступная системная память меньше 4 гигов.
CPUz берет инфу о памяти непосредственно из SPD модулей.
Даже если винду запустить с ключем, насильно ограничивающим занимаемую память, эта прога все равно 4Гб покажет.
А 64-х битные операционки просто обязаны видеть всю установленную память. Вот и этот дебиан видит все 4Гб.
PS: а PAE лучше тестить вот на этой четверке:
PPS: На хоботе кто-то пишет, что PAE в XP работает, но только с SP1. Надо будет проверить
Кстати: support.microsoft.com/kb/888137/en-us
PPPS: по мотивам той же ветки с ixbt:
* PAE в XPSP2 и в Vista32bit все же есть, но используется операционкой не для расширенной адресации, а для каких то своих спецефических нужд (какой-то DEP);
* на системе с ОЗУ>2Гб, при включении remap'а в биосе 2 Гига остаются в адресном пространстве ниже 4Гб (от 0 до 2 Гб), а все остальное располагатеся от 4Гб и выше.
ПС [13-06-2006] Идеальный скриншот BIOS'а ? Запросто ! // K.V.
Настоящий джентльмен назовет кошку кошкой, даже наступив на нее в темноте.
Что-то ищем? Google в помощь
В 32 разрядной висте видно только 3 гигабайта, сколько не ставь. То есть никакой ремап не помогает. 64 разрядная показывает сколько поставишь.
Это из практики, документацию по висте не читал.
попадались мне как то сервера Инкомовские / Prime 1700 ( такая вроде модель)
проц - 2 хеон 2,8 ггц / 64-bit
материнская плата SUPER X6DHE-G2 / X6DHE-G2
OS windows 2000 Server +sp4
озу - 4 ггб - в биосе виделись вся память
а вот в самой ос - где то 3 гига только
пробовали ставить на этот сервер 2000 Advanced Server
только тогда виделась вся память ( все 4 гига)
Продолжение темы тут.
Админ.