I have to build a simulator, to check the scalability limits in memory management of linux. For this, the simulator  will provide a large amount of RAM (in GBs), even if the amout of physical memory is only 512MB.

Can UML be used for this purpose? I had seen the "mem" option in the kernel switches option of UML. Can UML simulate such a case? If it does, how UML handles this? Specifically, can the UML kernel allocate all this amount of memory (leaving aside the page faults which will be generated in case of read/write requests to the allocated pages, for it has to use the actual RAM)? Say, for example if I allocate 4 GB, will the UML kernel allocate all the amount in the simulated RAM. (maybe it does it in the some swap, or the /tmp, as the documentation says for the "mem" usage <http://user-mode-linux.sourceforge.net/switches.html> . 

If I have wrong interpretation of the "mem" option in UML, please do correct me.