Выделение памяти более 2Gb

Тема в разделе "WASM.WIN32", создана пользователем tracert, 4 окт 2007.

  1. tracert

    tracert New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2007
    Сообщения:
    2
    Привет всем.
    Есть машинка с 4Гб оперативки, ХР SP1 Pro.
    При попытке выделить более 2 Гб возвращается нулевой указатель. Пробовал GlobalAlloc, LocalAlloc, VirtualAlloc. Диспетчер задач показывает, что доступно 3.2 Гб физической или 5.6 Гб виртуальной.
    Подскажите, где копать.
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Рихтер, главу про AWE.
     
  3. flankerx

    flankerx New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2004
    Сообщения:
    423
    Адрес:
    Moscow, Russia
    Так и должно быть. Доступное адресное пространство для 32-х битных приложений — от 0x10000 до 0x80000000 (т.е. чуть меньше 2 Гб) часть из которого уже занята образом исполняемого файла и загруженными библиотеками.
     
  4. tracert

    tracert New Member

    Публикаций:
    0
    Регистрация:
    4 окт 2007
    Сообщения:
    2
    Спасибо, помогло!
     
  5. Solo

    Solo New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2003
    Сообщения:
    131
    ключ /3gb в boot.ini может несколько отсрочить возникновение проблемы :)
     
  6. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    помню ломал я какую-то строительную приблуду
    через какое-то время клиент звонит и умоляет помочь
    он там нахерачил-нахерачил насоздавал-насоздавал а расчет не идет - падает
    ну прислал мне исходный файл, я поковырялся, разобрался - расчетка сжирает всю виртуальную память в процессе, exception и на выход
    система 2к3, чистая, на варе
    так вот - ставил я такой ключ - фиг
    поднял чистую 2к - фиг
    хп не стал пробовать даже
    поднял чистый 98(!) - прошел расчет, но медленно зараза, там хипаллок в разы тормознее почему-то
    немного добавил в схему - чуть-чуть буквально - и 98 тоже exception
     
  7. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    z0mailbox
    К такому ключу не забыл IMAGE_FILE_LARGE_ADDRESS_AWARE? да ещё много там тонкостей в выделении... всё из-за фрагментации виртуальной памяти всякими длл с бездумными базами загрузки образа... В данном случае выигрывает выделение малыми кусочками, но много раз.
     
  8. qwerty_9876

    qwerty_9876 New Member

    Публикаций:
    0
    Регистрация:
    10 апр 2007
    Сообщения:
    47
    Ставь 64-х ось, компилируй 64-bit код и выделяй памяти хоть терабайтами.