У меня 32-битный сервер Windows с 4 ГБ оперативной памяти.
Читая различные статьи в Интернете, я пришел к пониманию, что включение переключателя / 3GB в boot.ini будет означать, что из моих 4 ГБ оперативной памяти 3 могут быть выделены в память пользовательского режима. Без переключателя только 2 ГБ будут использоваться для пользовательского режима, а система зарезервировала бы остальные 2 ГБ для использования в режиме ядра.
Тем не мение, этот статья Марка Руссиновича заставила меня подумать, что мой предыдущий вывод был ошибочным - все, что делает переключатель / 3GB, это позволяет процессам использовать 3 ГБ из их 4 ГБ адресного пространства вместо 2 ГБ.
Давайте создадим несколько сценариев, чтобы проиллюстрировать, как я думаю, что это работает и когда переключатель будет полезен:
1. Сервер базы данных - один процесс с интенсивным использованием памяти
Без переключателя / 3GB процесс базы данных сможет использовать только 2 ГБ памяти. С переключателем / 3GB процесс сможет выделить до 3 ГБ. Переключатель полезен в этом сценарии.
2: сервер, на котором запущено 4 процесса, каждый из которых потребляет 750 МБ памяти.
Использование переключателя / 3GB не принесет никаких преимуществ - каждый процесс уже может выделить всю необходимую ему память, а система уже может удерживать все процессы в физической памяти.
Прав я или нет? Если я ошибаюсь, как переключатель / 3GB действительно влияет на использование физической памяти?
Коммутаторы 3GB и PAE независимы и работают с разными вещами.
Коммутатор 3 ГБ - На платформах x86 программы получают пространство виртуальной памяти. Они не получают фактических адресов памяти. Это пространство виртуальной памяти разделено на блоки для различных целей. Обычно первая половина (2 ГБ) зарезервирована для общего использования программы. Другая половина зарезервирована для других вещей (обычно это память ядра). TL / DR: Этот переключатель влияет на разделение виртуального адресного пространства.
Переключатель PAE - Исходные платформы 80386 могли обрабатывать максимум 32 бита физической памяти; это 4 ГБ. Чтобы добавить больше, Intel придумала 4 дополнительных бита и назвала их расширениями физических адресов. Как упоминалось выше, программы не знают, как выглядит физическая память, они видят виртуальное адресное пространство. Однако ОС может использовать PAE для добавления более 4 ГБ ОЗУ (на самом деле ~ 3,7 ГБ из-за BIOS и ввода-вывода с отображением памяти также занимает место). TL / DR: Этот переключатель влияет на то, как ОС обращается к физической памяти.
Вышеупомянутое было упрощено слегка, никогда не бывает так просто, как нам хотелось бы.