Назад | Перейти на главную страницу

32-разрядный адрес Windows Server> 4 ГБ ОЗУ - как?

Это для меня новость. У меня всегда было впечатление, что 32-разрядная ОС может адресовать только 2 ^ 32, то есть 4 ГБ ОЗУ. Период.

Но что это - http://www.crucial.com/uk/kb/answer.aspx?qid=3743&click=true ?

Как это возможно? И означает ли это по-прежнему> 4 ГБ на процесс? т.е. если у меня есть IIS, можно ли выделить ASP.NET более 4 ГБ?

Изменить: спасибо за ответы. Чтобы поместить это в контекст, это для веб-разработки. Получается, что w3wp.exe (рабочий процесс ASP.NET) по-прежнему будет ограничен 4 ГБ? Это правда?

Спасибо Дункан

MMU на некоторых 32-разрядных процессорах может фактически поддерживать более 4 ГБ физической ОЗУ, хотя один процесс может одновременно видеть только 4 ГБ в своем виртуальном адресном пространстве. Такой ЦП может быть оснащен более 4 ГБ ОЗУ и может поддерживать несколько процессов, используя в общей сложности более 4 ГБ ОЗУ. Однако один процесс может использовать только 4 ГБ ОЗУ (за вычетом некоторых накладных расходов со стороны операционной системы) в любой момент времени.

На Xeon это средство известно как Расширение физического адреса (PAE) и некоторые операционные системы имеют API-интерфейсы, которые позволяют процессу управлять MMU для переключения физической памяти в виртуальное адресное пространство процесса и из него. В Windows этот API известен как Расширения окна адреса (AWE), но он доступен не во всех версиях Windows. Linux и другие разновидности Unix поддерживают аналогичный механизм.

Чтобы использовать эту возможность, программа должна быть специально разработана для ее поддержки - AWE не расширяет автоматически виртуальное адресное пространство процесса. Например, некоторые версии SQL Server поддерживают его, хотя я не знаю, что это делает IIS.

РЕДАКТИРОВАТЬ: Вот так. Нашел. Эта публикация на Stackoverflow ссылки на более подробную информацию о механике PAE.

Изменить 2: Если это сообщение на форуме следует полагать, тогда IIS не поддерживает AWE.

Адресация более 4 ГБ на 32 бит возможна с PAE. Для ограничения памяти процесса вы можете прочитать Общие сведения о Windows Брюса Сандерсона; ОЗУ, виртуальная память, файл подкачки и все такое

Информацию о памяти для каждого процесса см. В разделах 1.2 («Адресные пространства и процесс») и 2.5 («Настройка памяти приложения - переключатель / 3 ГБ») по ссылке «Общая информация Windows» выше.

Отметим, что более высокие версии Windows 2003 (Enterprise и Data Center) работают с> 4 ГБ. У меня был HP DL380 с 14 ГБ ОЗУ, а W2K3 EE видел все 14 ГБ. Сервер VMWare смог использовать более 4 ГБ. Мы заменили W2K3 на ESXi 3.5 U3, и он может использовать все 14 ГБ.

Насколько я знаю, Microsoft пыталась включить его в других версиях Windows (например, XP) и обнаружила, что у многих драйверов возникают проблемы, когда объем памяти превышает 4 ГБ. По крайней мере, часть проблемы была связана с DMA (адреса памяти оборудования были бы усечены до 32-битных и начали повреждать память). Так что был SP, который избавился от PAE для большинства старых версий Windows, чтобы предотвратить проблемы со стабильностью.