Я думаю, что прочитал вопрос немного по-другому, так что, надеюсь, этот ответ не слишком не по теме!
Вы можете получить хороший обзор того, сколько памяти использует ваше приложение, используя диспетчер задач Windows или, что еще лучше, Sysinternals Process Monitor . Это быстрый способ проверить ваши процессы на их пиках, чтобы увидеть, как они себя ведут.
Из коробки процесс x86 сможет адресовать только 2 ГБ ОЗУ. Это означает, что любой отдельный процесс на вашей машине может потреблять до 2 ГБ. В действительности вы, вероятно, сможете потреблять только 1,5-1,8 до исключения исключений из памяти.
Сколько оперативной памяти может адресовать ваша копия Windows, зависит от версии Windows и архитектуры процессора.
Используя ваш пример 4 ГБ ОЗУ, ОС предоставит вашим приложениям до 2 ГБ ОЗУ для воспроизведения (которое совместно используется всеми процессами) и зарезервирует для себя 2 ГБ.
В зависимости от используемой операционной системы вы можете настроить его, используя параметр / 3GB в файле boot.ini, который отрегулирует это соотношение до 3 ГБ для приложений и 1 ГБ для ОС. Это оказывает некоторое влияние на ОС, поэтому я сначала рассмотрю это влияние и посмотрим, сможете ли вы жить с компромиссом (YMMV).
Для того чтобы одно приложение могло адресовать больше / 3 ГБ, вам нужно будет установить определенный бит в заголовке образа PE. В этом вопросе / ответе уже есть хорошая информация по этому вопросу.
Игра меняется под архитектуру x64. :)
Хорошая справочная информация:
Ограничения памяти для выпусков Windows
Виртуальное адресное пространство