2

Вот что я понимаю, пожалуйста, поправьте меня, если я ошибаюсь в части 3ГБ?

  • Адресное пространство виртуальной памяти приложения win32 ограничено 4 ГБ.

  • Из 4 ГБ адресного пространства памяти, которое получает каждый процесс, только 2 ГБ фактически доступны для использования программой; остальные 2 ГБ зарезервированы для использования ядром.

  • Параметр загрузки /3GB позволяет некоторым программам использовать больше адресного пространства памяти.

Если такое приложение win32 работает на ОС Win64,

  • применяется ли указанное выше ограничение в 4 ГБ общего доступного адресного пространства виртуальной памяти?

  • ограничение 2GB все еще применяется?

  • опция /3GB еще доступна?

Спасибо!

2 ответа2

7

Обращаясь к приведенной здесь таблице, мы видим, что 32-разрядное приложение может иметь три различных ограничения виртуальной памяти:

32-разрядное приложение, связанное с флагом /LARGEADDRESSAWARE в Windows x64, получит 4 ГБ для себя.

32-разрядное приложение, связанное с флагом /LARGEADDRESSAWARE в Windows x86 с флагом загрузки /3GB будет иметь 3 ГБ для себя.

Во всех остальных случаях 32-битное приложение получит разделение по умолчанию на 2 ГБ /2 ГБ на приложение /ядро.

1

Да, зависит, нет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .