Lumo wrote:
No, that's not quite right. This is very basic stuff but I'll type it out anyway: 32 bit programs are theoretically limited to 4 Gig of memory. In practice they are limited to even less. People put swap space on RAM discs to work around this limitation and it works very well. Especially in Photoshop if you have an older version that doesn't support x64.
On a 32-bit system, a particular process can not access more than a 4GB address space. If that single process has been allocated 4GB of physical memory then
there is no possible way for that process to trigger a page fault. In other words and more specifically, once the GIMP process has been allocated 4GB of physical memory, it will not cause any swapping. GIMP may fork other processes but then each of those forks will have its own 4GB virtual address space.
If you have a second (third, fourth, ...) process running on your system (whether or not it was forked from GIMP) and
it has not yet had a full 4GB of physical RAM mapped into its 4GB virtual address space, and it then attempts to allocate some more memory, one of two things could (successfully) happen:
1 - there is unmapped RAM available and this gets mapped into the process's virtual address space (no swapping) or
2 - there is not enough physical RAM available and so physical memory has to be "dumped" to the swap file. By creating a swap file on a RAM disk (decreasing the amount of available physical RAM), all you are doing is making
2 more likely and incurring a penalty in moving memory from one location to another.