Menu

ImDisk ramdrive as virtual memory?

drharri
2018-03-08
2018-03-10
  • drharri

    drharri - 2018-03-08

    Is it possible to use ImDisk ramdrive as virtual memory (i.e., put a page file on it)? I tried that, but it seems that the drive is not created, formatted and mounted automatically or early enough in the boot to render this possible. Or I couldn't figure out the necessary settings. Please advice.

    I have previously had this sort of arrangement with Gavotte Ramdisk, but I now suddenly can't install it on the XP x64 system, even though I used to have it there.

    I would like to not use hard drives for swapping, since I have more RAM than I need for my software.

     
  • v77

    v77 - 2018-03-09

    When you create a ramdisk through the GUI, this ramdisk is created at startup through a user mode service. This is the soonest possible in user mode, but likely still not soon enough for the swap file, because the kernel only needs the volume and filesystem drivers to create it.

    There is a way to create the ramdisk a bit sooner with the command line tool imdisk.exe and the -P switch, but as the only way with this method to have the volume formatted is to read an image file, there is no guarantee that the volume is ready soon enough.

    However, you should be able to create the pagefile later, with the wmic command. I cannot confirm the exact commands though, since I get errors.

    Anyway, I don't recommend to use a ramdisk for putting a swapfile in. You add several layers of useless requests to volume and filesystem drivers for something that could be done directly if you let the system use the RAM.
    And softwares that check the pagefile by themselves should be avoided at any cost, because this is the worst possible programming design.

     
  • Wizard

    Wizard - 2018-03-10

    Windows 10 already does this automatically (Compress pages in ram instead of pushing them to the pagefile, to minimize pagefile-use. This is even better then trying to put the pagefile in ram. You can see the results of that in Task-Manager Memory-In Use (Compressed)). Server 2016 doesn't but can be enabled with powershell Enable-MMAgent -MemoryCompression, although it's probably disabled by default for a reason, so beware of possible adverse effects after enabling
    If you have plenty of ram (much more than generally used) pagefile is almost not getting used anyway, so there's no need to move a pagefile to a different place

     

    Last edit: Wizard 2018-03-10

Log in to post a comment.