[GUIDE] Using ImDisk to set up RAM disk(s) in Windows with no limit on disk size

Discussion in 'Operating Systems' started by k1net1cs, Dec 21, 2011.

  1. gammelhat

    gammelhat Active Member

    Messages:
    96
    Likes Received:
    0
    That is my entire point. You have the same usable memory, but to get to some of it, you need to go through the ram disk (large overhead).

    No page file - you have the same usable memory, but all of it is now directly addressable by Windows. No overhead.

    Moved to ram? Nothing is "moved" when you disable the page file. There is just no page file.
     
  2. Pill Monster

    Pill Monster Banned

    Messages:
    25,211
    Likes Received:
    9
    GPU:
    7950 Vapor-X 1100/1500
    What do you mean "go through the ram disk"?

    It doesn't "go through anything" as it's all located in ram...

    Maybe, but I can't see that being a big problem unless there was less than 2GB of ram available...if I'm following you correctly...



    Not quite true.

    With the PF disabled on the HDD it is simply kept in physical ram. Unless you mean swap space - and no they are not the same thing...

    An application can still page fault even when all memory is located in physical ram, this usually happens when the program accesses pages kept in the virtual address space.
     
    Last edited: Dec 22, 2011
  3. gammelhat

    gammelhat Active Member

    Messages:
    96
    Likes Received:
    0
    I explained it in an earlier post. Windows cannot address the memory directly in this manner. Data must be copied to the ram disk, before ram can be reused (that is the function of the page file).

    The page file is a file on some secondary storage media (usually). Its purpose is to temporarily hold data from ram when you are running out of it. I am not sure where you get "it is simply kept in physical ram" from.

    Yes, page faults exist even without a page file, but the page file is not the source of them (because there is none, it is disabled - so no data has been copied out to it). Memory mapped files (ie. exe and dll files) generate page faults.

    I can add: The virtual address space is where the application lives. Everything is about it, but the page file is not the virtual address space.
     
    Last edited: Dec 22, 2011
  4. rrblum

    rrblum New Member

    Messages:
    6
    Likes Received:
    0
    GPU:
    HD5870-E6 w/3 screens
    Wow - what a great guide - thanks so much. Too bad the page file flamers hijacked the thread.

    I had tried DataRam Ramdisk but it really slowed startup and the 4 Gb limit was a drag. I also messed around with ImDisk but I couldn't get it to save an image and start up with the saved image so I gave up. Your guide really helped me set up and run a ImDisk ram disk. I use my ram disk for windows and browser temp files and printer spool. Makes window and browser snappier. I'm running x64 Vista with 16 Gb ram (no page file - so I won't join in that discussion). How can you beat free unlimited size ram disk software?

    Anyway, thanks again for the guide, nice work.
     

  5. gammelhat

    gammelhat Active Member

    Messages:
    96
    Likes Received:
    0
    This is what I am talking about. This is not the first time I have seen people being misguided. When people put their page file on a ram disk "to speed things up" it based on bad information.
     
  6. Saifz

    Saifz Guest

    Messages:
    490
    Likes Received:
    0
    GPU:
    460 Zotac 1gb 800/2000
    i dont have 8gb yet =(
     
  7. k1net1cs

    k1net1cs Ancient Guru

    Messages:
    3,783
    Likes Received:
    0
    GPU:
    Radeon HD 5650m (550/800)
    That's the first time I saw someone actually put the phrases 'easy to follow' and 'very technical' together not meant to show the contrast between one another. :p

    Well, you shouldn't.
    If you have, then something is probably wrong with your system. =b

    Sorry to miss your post the first time.


    I am also not sure how to explain that I don't exactly endorse creating a page file on RAM and that the whole guide is intended for experimental purposes?
    If I edit the guide and add a disclaimer that 'Adding a page file is nonsensical.' with bolded letters, would that please you?

    With a bit of condescending tone like that, don't mind me if I can't take you seriously further on.

    Electricity is also good for many things, but why waste it on Christmas decorations?


    Precisely.
    Some people just like to make things look more complex than it should.


    DR was also what made me persevere with multiple restarts for testing purposes to get ImDisk to work as I wanted it to.
    Aside from a slow start, I can't make multiple RAM disks with it.

    You're welcome.
    Good to know it also works fine for you.


    Sell your 2x2GB and get a 2x4GB. =b
    Even a paired 4GB sticks (8GB kits) are dirt cheap now.


    Oh, and Merry Christmas everyone! :cheers:
    I know it's late, but things IRL are more fun to do than replying in technical forums in a holiday season like this, especially if you have a family. ;)
     
    Last edited: Dec 28, 2011
  8. gammelhat

    gammelhat Active Member

    Messages:
    96
    Likes Received:
    0
    I don't really care. I am just telling you the performance is hurting by it. Earlier you said that the system would be neither faster nor slower. That would indicate you don't fully understand it. I was trying to shed some light.

    If you read the comments, others are confused by it. I saw another thread where people also were confused.
     
  9. The Chubu

    The Chubu Ancient Guru

    Messages:
    2,537
    Likes Received:
    0
    GPU:
    MSi GTX560 TwinFrozrII OC
    ImDisk its pretty handy.

    That combined with the "new" softlinks (new as in, new to windows lol) of the most recent version of NTFS (since Vista or Seven i think) it becomes even more handy.

    For example ,say that i want to run Skyrim off a Ramdisk. The bad part is that i have 10Gb of mods! (not really, just for the example :p im not fond of texture mods).

    So what i'd do is, copy every important BSA to a ramdisk, (approx, 5Gb or so of data), then link to it from the original TES directory (with mklink, no shortcuts) and voila! Almost all of the games original data is running from the ramdisk, while it loads those heavy mods from the HDD.

    More detailed explanation:
    Copy every bsa to the ramdisk. Rename the original bsa to something else, like "_Skyrim - Meshes.bsa" that will be enough for the game to not to read them.

    Then open the command prompt. Mklink syntax its pretty simple, just mklink [full file path of the link] [full file path of the file pointed by the link]

    So, say that you have a ramdisk in the letter J.

    An link to the textures bsa would be made like this:

    Code:
    mklink "C:\steam yada yadda\The Elder Scrolls 5 Skyrim\Data\Skyrim - Textures.bsa" "J:\Skyrim - Textures.bsa"
    That command would make a link in the originals skyrim data folder, named exactly like the original file that you want to load from the ramdisk, that points to the actual file located in the ramdisk. The link will act just like the file for the game, everytime that the game wants to access Skyrim - Textures.bsa, the link will redirect it to the ramdisk so it will load stuff from there. Thats the magic of soft links.

    If you delete the softlink, its just like deleting a shortcut, nothing happens to the original file. If you delete the original file, or more precisely, the file that the softliink its pointing at, the link becomes useless.

    Now, hardlinks are more magical but NTFS doesnt allows hardlinks between different partitions so no use for them here : (

    That said, even having all of Skyrim on a ramdisk doenst makes that much of a difference for me (tested from a RAID 0 of F3s though, 2x500Gb). Pretty sure cuz Skyrim isnt all that data intensive, and does lots of caching so loading times are fast nevertheless.

    But its just one step, it can be done with any game, and im sure that having more data from the game already on ramdisk its going to improve loading times.
     
    Last edited: Dec 29, 2011
  10. k1net1cs

    k1net1cs Ancient Guru

    Messages:
    3,783
    Likes Received:
    0
    GPU:
    Radeon HD 5650m (550/800)
    No, that'd indicate enabling page file on a RAM disk or not simply didn't matter.

    Your conclusion about my statements regarding my own system's performance actually would indicate that you by default viewed me as not knowing jack sh!t.
    That, in the civilized era we currently live in, is called 'being arrogant'.

    FWIW, I already knew everything you've explained above.
    That Silberschatz book, among other things, I read years ago weren't for naught.
    That's why I didn't contradict whatever you've said explaining the workings of a page file.

    The only point I was trying to make was whether the overhead you kept talking about is significant or not, especially when you said 'large' across multiple replies.

    Confused?
    Black_ice_Spain only said he felt the same as I did, which is no difference whatsoever; same goes with Lethal Abz.
    CPC_RedDawn was more confused about the technicalities of creating a page file on a RAM disk (and the definition of a RAM disk itself) rather than the point of creating a page file on a RAM disk.
    Also, Pill is one person.

    Where are these 'others' you talk about?


    Shut it, damn penguins. :p
    By the way, you were talking about symlinks, right?
     
    Last edited: Dec 29, 2011

  11. The Chubu

    The Chubu Ancient Guru

    Messages:
    2,537
    Likes Received:
    0
    GPU:
    MSi GTX560 TwinFrozrII OC
    haha yes. Remembered that they're called symbolic links now that you mention it. Anyway, edited my post with a more detailed explanation of using mklink inside the spoiler tag if anyone wants it.

    There are a few more flags for mklink (and a GUI around somewhere that i didnt download) if anyones wants to make hardlinks, directory junctions and such.

    Never knew that such things existed until i took a Debian course, then tried to make use of them in Windows only to find that its an all shiny new feature in this side of the software world lol

    I really dont know if by using symbolic links one could bypass the latency of the harddrive. Since i dunno if each time the game wants to access a file, it needs to read the link from the HDD and then starting to load stuff from the ramdisk.

    That would still give amazing transfer bandwidth but at the cost of beign restricted to the 12ms or 14ms of HDD latency for some operations.

    I *think* that a hardlink would get rid of such restriction but thats as far as my knowledge goes in the subject.
     
    Last edited: Dec 29, 2011
  12. k1net1cs

    k1net1cs Ancient Guru

    Messages:
    3,783
    Likes Received:
    0
    GPU:
    Radeon HD 5650m (550/800)
    Nifty.
    I might try that myself on some (preliminarily) loading-heavy games like S.P.A.Z. or those with big chunks of texture data like Skyrim.

    This is something that piqued my interest too the moment I read your post.
    Theoretically, there should be a slight improvement even with the overhead associated with using symlinks since the system doesn't have to read the entire data through HDD, but still needs some more testing on that.
     
  13. BetA

    BetA Ancient Guru

    Messages:
    4,527
    Likes Received:
    487
    GPU:
    G1-GTX980@1400Mhz
    Well, Thank u very much Sir for this very usefull Post. :)
     
  14. k1net1cs

    k1net1cs Ancient Guru

    Messages:
    3,783
    Likes Received:
    0
    GPU:
    Radeon HD 5650m (550/800)
    You're most welcome. :)

    Just remember, creating a page file on a RAM disk is not recommended! :p
     
  15. sykozis

    sykozis Ancient Guru

    Messages:
    22,492
    Likes Received:
    1,537
    GPU:
    Asus RX6700XT
    @K1net1cs, nice guide bud....

    Having more than 4GB of ram with a 32bit system is pointless as you're restricted to 4GB addressable. You can't use a RamDisk to break the memory limitation of 32bit Windows. If you have 4GB of ram, and create a 2GB RamDisk in 32bit Windows, you leave the OS with 2GB of ram to work with. Since the RamDisk is read into memory by the OS, it's still bound by the same memory limitations as the OS, and can only be read into memory that is addressable by the OS.
     

  16. k1net1cs

    k1net1cs Ancient Guru

    Messages:
    3,783
    Likes Received:
    0
    GPU:
    Radeon HD 5650m (550/800)
    It's actually possible to 'break' the 4GB limit with Windows XP 32-bit by using PAE.
    Combined with AWE, theoretically any 32-bit application should be able to use more than 2GB and have access to the upper addresses of the memory.

    Ideally, ImDisk (along with awealloc, from ImDisk's installation) can use this new addressable space as a RAM disk since awealloc can make ImDisk to only use the upper addresses, and leave the rest for the OS to use.

    But then again, I haven't tested it myself, so I can't speak any more of it aside from what I've read.
    Not to mention enabling PAE could be not so straightforward at times.

    Thanks. :)
     
    Last edited: Jan 2, 2012
  17. Watcher

    Watcher Ancient Guru

    Messages:
    2,695
    Likes Received:
    367
    GPU:
    Asus Dual RX6700 XT
    @ k1net1cs:

    Nice guide.

    I mentioned " Dataram RAMDisk " to be used for your " Page file " many months ago due to the fact that there is a dedicated thread to turning the " Page File " off which can and does cause issues. With the " Page File " set to mount to a Ram Disk, any concerns about slow downs when accessing the " Page file " are eliminated.

    BTW: Dataram RAMDisk free version has the limitation for the 4 GB file size.

    The program cost is $14.99 which eliminates any and all restrictions.

    http://memory.dataram.com/products-and-services/software/ramdisk#download-ramdisk

    http://www.softpedia.com/get/Tweak/Memory-Tweak/Cenatek-RAMDisk.shtml


    Dataram RAMDisk does the PAE calculations for you. Download the PDF file from here for more information.

    http://memory.dataram.com/__documents/file/Dataram_User_Manual_35.pdf

    [​IMG]
     
    Last edited: Jan 2, 2012
  18. k1net1cs

    k1net1cs Ancient Guru

    Messages:
    3,783
    Likes Received:
    0
    GPU:
    Radeon HD 5650m (550/800)
    I also have mentioned Dataram RAMDisk in the guide, in a somewhat limited fashion a.k.a. briefly, along with its limitations.
    The 4GB limitation is a bit of a moot point for most users, me included.
    What made me switch to ImDisk is the fact that DR can't run multiple disks simultaneously, and I don't think getting the paid version will enable that aside from removing the 4GB limitation.
    From my (admittedly limited) research, any commercial RAM disk programs out there that support multiple RAM disks is priced around $40 and above.

    It's also what awealloc does in ImDisk, with the only difference of not having any GUI but only a couple of commands away from a similar functionality.
    In any case, in order to use that feature in DR or for awealloc to function properly, a user still have to enable PAE manually with the bcdedit command; DR doesn't exactly enable PAE for the user.

    I know $15 isn't much, but when $12.50 can get me the complete edition of L.A. Noire (on Steam sale), I'd rather get the latter (in which I did).
    I guess I'm just one of those frugal people a.k.a. cheap bastards. =b

    Thanks. :)
     
  19. sykozis

    sykozis Ancient Guru

    Messages:
    22,492
    Likes Received:
    1,537
    GPU:
    Asus RX6700XT
    Enabling PAE to allow <4GB memory, and using LAA to allow <2GB allocation would allow you to break the memory limitation, but you'd risk stability in doing so.
     
  20. gammelhat

    gammelhat Active Member

    Messages:
    96
    Likes Received:
    0
    PAE has been enabled by default since XP/SP2...
     

Share This Page