I have a virtual machine running Windows Server 2008. I do not want to assign more RAM to it and I cannot set a pagefile.

I would like to hear if anyone has an alternative method of using hard drive space as RAM?

  • HDD isn't comparable to RAM for performance, so you would nothing to gain, and everything to lose. 100MB/s vs 12,000MB/s. Just buy more RAM. Jul 31 '12 at 11:28
  • In my specific situation, I do need an alternative to the built-in pagefile in Windows. Jul 31 '12 at 11:35
  • 1
    You can try Syncronys SoftRAM :)
    – user81458
    Jul 31 '12 at 12:05
  • Actually looked it up :) Jul 31 '12 at 12:13
  • 1
    You would get much better answers if you described the problem you're trying to solve and the constraints that you have, rather than asking how to implement what you think is the solution, which to the rest of us sounds like a really bad idea.
    – mfinni
    Jul 31 '12 at 13:37

I think the only way is to add a hypervisor under your Windows 2008 Server installation. For example, with VmWare ESXi you can assign arbitrary amount (up to 2 TB and your disk capacity) of virtual RAM to the instances which will be perceived by the VMs as being "real".

Note though that this is a bad idea and you should not expect any performance improvements over using a swap file in Windows (actually, it can be much slower because Windows will not optimize swapping because it will think that it is dealing with physical RAM). The data will still be swapped, only by a hypervisor instead of the OS itself.

  • That's a good idea, but would the host be able to spend hard drive space as "virtual RAM", bypassing the pagefile? Jul 31 '12 at 11:59
  • Yes, that's exactly what it will do. And no, it is not a good idea.
    – user81458
    Jul 31 '12 at 12:00
  • It's a good idea in that it is a possible solution to my problem :) I know that it will not perform very well, of course. Jul 31 '12 at 12:03

There is no general way to do what you're looking for. Memory management is provided by the operating system, and a swapfile is the only way Windows supports virtual memory. To the best of my knowledge it is not possible to shim in an alternate virtual memory system to Windows as it exists today.

There may be a specific way based on the programing language you use. This would likely involve a customized malloc-equivalent call. This moves certain aspects of memory management into the memory allocator. This would take the VMM out of the OS and into the application layer, at which point you can point it to anything.

  • I can't use the specific way of doing it. Are you sure that there is no general way of doing it? Jul 31 '12 at 11:57
  • 2
    @NielsBrinch Everything I know about how the windows virtual-memory-manager works suggests that such a feature would require very significant low level changes. I'd be very surprised if such a thing exists, and if it does it most certainly would not be FOSS. The only use-case I can think of is HPC where Windows may make bad decisions about what goes where for a specific application, and once you get into HPC space the cost goes way up.
    – sysadmin1138
    Jul 31 '12 at 12:08
  • Although I think yours is the 'best' answer, Tibor actually gave a workaround that kind of fulfils the criteria, so I'm choosing that as an answer. Thanks a lot, though. Jul 31 '12 at 15:23

No, that is exactly what the paging file is for. Note that it doesn't need to go on the C: drive; you can specify it's location.

  • I need an alternative solution to the built-in paging file that does the same as the paging file. Jul 31 '12 at 11:32
  • @NielsBrinch: Please explain your requirements and why they exist. Windows offers a solution, why isn't this sufficient?
    – Sven
    Jul 31 '12 at 11:42
  • I cannot use the solution offered by Windows. If I could, this question would not be relevant. I need an alternative that does the same. Please believe me. Jul 31 '12 at 12:03
  • 2
    You have not explained why your requirements exist, or why the page file (the built-in and supported method) are not sufficient for your needs. If we understand the restrictions/limitations we might be able to help you. Without supplementary information, it's not possible for us to help you.
    – gWaldo
    Jul 31 '12 at 13:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.