К сожалению, недокументированные параметры функции VirtualAlloc позвояют добиться выделения памяти из "конца" адресного пространства, доступного процессу. Так как в 32-разрядной винде объем этого пространства равен 4 Гб, то для 100% корректной работы, суммарный объем физической и виртуальной памяти должен превышать эти 4 Гб на размер ядра системы (~90 мб) Вообще-то, нормальные программисты так конечно не пишут

Но на практике я один раз сталкивался с программой (это были Герои IV

) которая ругалась на нехватку памяти (был 1 Гб физической + 512 Мб свопа, ругаться перестала после увеличения свопа до 2 Гб). Так что отключение свопа - это всегда потенциальные проблемы совместимости.