, androidi wrote

Like I said in the op, when writing to pagefile in 32 bit OS, write to both the inaccessible (over 4GB) memory, and disk. Only read from the ram disk. When the ram disk is full, then purge least frequently used pages from the ram disk and read them back from disk only when needed. Also you could provide some notification that the ram disk is full and further access will be slower.

This would basically just amount to a very convoluted way of allowing you to access the extra memory (because you have a "pagefile" in the upper bits of memory that is then backed by a real pagefile on disk). Not just convoluted, but also inefficient because of the additional memory copies needed to move stuff in and out of the in-memory "pagefile". If MS wanted you to be able to use the full memory size on client versions of Windows, they would just enable PAE and be done with it rather than enable such a ridiculous scenario.

You may be able to use the >4GB memory regions for a ramdisk using certain drivers, but this way you would not have the second on-disk pagefile so if your pagefile needs to grow beyond the size of the ramdisk your applications will simply crash with out of memory errors.

You still haven't provided a valid reason as to why you can't simply run a 64 bit OS, which would avoid all of this mess.