PrimoCahce settings suggestions

FAQ, getting help, user experience about PrimoCache
Post Reply
davidst95
Level 3
Level 3
Posts: 18
Joined: Sat Jun 28, 2014 4:01 pm

PrimoCahce settings suggestions

Post by davidst95 »

Hi, I have a Intel 17 6700K, 64GB of DDR4 RAM (I work a lot with VMs for work), my OS drive is a 512GB Samsung Pro 950 NVME and I have a 1TB Samsung 850 EVO. I also have a UPS. Does anyone have any advice for what would be the optimal settings I should use? The settings seem kind of overwhelming for me. I don't know much about memory usage and the different byte sizes. Also, can I use a write delay on my OS drive since I have a UPS? Thanks for any advice!

David
InquiringMind
Level SS
Level SS
Posts: 477
Joined: Wed Oct 06, 2010 11:10 pm

Re: PrimoCahce settings suggestions

Post by InquiringMind »

Since you're using SSDs exclusively, you should not bother with setting up a Level 2 cache (which uses SSDs to speed up HDDs). You only therefore need worry about Level 1 settings.

My first recommendation is that you find out how much RAM you have to spare - I would suggest installing either Process Hacker or Process Explorer (I'd give Process Hacker a slight edge in functionality, but Process Explorer is provided by Microsoft themselves) since both can report on peak RAM usage and see what that reaches by the end of a working day. Subtract that amount from your 64GB, subtract another 2-3GB to provide a safety margin and the remainder is what you should be able to allocate to PrimoCache L1.

If you are unfamiliar with the prefixes used with memory, then these are listed in the SI Prefixes Page - memory is measured in powers of 2 though so 1GB (gigabyte) is 1,073,741,824 bytes rather than just 1,000,000,000 (confusingly, hard disks use the opposite measure which is why a 1TB (terabyte) drive will be displayed as having 931GB in Windows).

A UPS will provide protection from power outages but not from system crashes - so only enable "Defer Write" if you (a) have a robust backup strategy (ideally a combination of regular full backups plus automated updates of critical files) and (b) are willing to trade the increased risk of data loss for much improved write performance.
Amerifax
Level 3
Level 3
Posts: 13
Joined: Tue Oct 25, 2016 9:43 pm

Re: PrimoCahce settings suggestions

Post by Amerifax »

>>InquiringMind <<
your system sounds a bit like mine. I have an
Asus rampage V Extreme, i7-5960x. Memory - Dominator® Platinum Series 16GB (4 x 4GB) DDR4 DRAM 3333MHz C16 Memory Kit (CMD16GX4M4B3333C16)

I'm currently building: Rampage V Special Edition 10 and will be installing the fastest Intel and Corsair memory.

I was wondering what kind of experience you had as far as using the RAMCache or RAMDisk. I found the RAMdisk to be of great value on my X99 RAMdisk V Extreme, which is using the i7-5960x I found the setup of the RAM drive to be extremely user-friendly, setting up.
Bob Snow
InquiringMind
Level SS
Level SS
Posts: 477
Joined: Wed Oct 06, 2010 11:10 pm

Re: PrimoCahce settings suggestions

Post by InquiringMind »

My experience has been mostly positive on the Ramdisk side (I use it to hold the Windows pagefile, temp folder and create junctions for any other folders I identify as holding temporary data, like the Cache subfolder for Baldur's Gate and other Infinity Engine games). This makes a huge difference for programs that use temp files (e.g. manipulating compressed archives using WinRar) but one surprising improvement was with Planescape Torment. I had a mod installed which resulted in a short (0.5 second) delay when speaking to an NPC (Mebbeth - due to expanded scripting I presume) but relocating Planescape's temp data to the ramdisk eliminated it.

For PrimoCache things are more mixed - many games do show a benefit with reduced level load times but some applications seem to run slower also (Total Install seems to take twice as long to take a system snapshot with PrimoCache active). There are also problems due to duplication with Window's own file cache (PrimoCache will initially cache and duplicate the data in the Windows cache, but won't see further reads of it so will time out and eventually discard such data - when the Windows cache shrinks to accommodate another program's memory requirements, this can result in as much as 1-2GB of most frequently accessed data no longer being cached).

The biggest downside in my view is Romex's insistence on licence activation (see this thread for a discussion) which means users of PrimoCache/Ramdisk are likely to lose functionality if support ceases for any reason. Also since PrimoCache 2.2.0 (and presumably the latest version of Primo Ramdisk) Romex have been storing invalid characters in their Registry keys making a clean uninstall using standard tools impossible (restoring the Registry hive files from a backup still works though, as do tools like RawReg). Message to Romex on this: yes it's your software but it's my computer.

Finally, I'm using 32-bit Windows (XP SP3) so PrimoCache/Ramdisk's support for "invisible memory" beyond the 3.25GB WIndows can normally manage is a major plus. Since they're using memory not more generally available, these products are a win-win for 32-bit users with more than 4GB RAM. For 64-bit Windows though, I'd be much more sceptical - I can see Primo Ramdisk being of benefit still for speed-critical data but PrimoCache's (unavoidable) duplication of Windows' existing file cache makes it's benefits less certain in my view.
Adz
Level 4
Level 4
Posts: 20
Joined: Thu Dec 22, 2016 1:00 pm

Re: PrimoCahce settings suggestions

Post by Adz »

InquiringMind wrote:My experience has been mostly positive on the Ramdisk side (I use it to hold the Windows pagefile, temp folder and create junctions for any other folders I identify as holding temporary data, like the Cache subfolder for Baldur's Gate and other Infinity Engine games). This makes a huge difference for programs that use temp files (e.g. manipulating compressed archives using WinRar) but one surprising improvement was with Planescape Torment. I had a mod installed which resulted in a short (0.5 second) delay when speaking to an NPC (Mebbeth - due to expanded scripting I presume) but relocating Planescape's temp data to the ramdisk eliminated it.

For PrimoCache things are more mixed - many games do show a benefit with reduced level load times but some applications seem to run slower also (Total Install seems to take twice as long to take a system snapshot with PrimoCache active). There are also problems due to duplication with Window's own file cache (PrimoCache will initially cache and duplicate the data in the Windows cache, but won't see further reads of it so will time out and eventually discard such data - when the Windows cache shrinks to accommodate another program's memory requirements, this can result in as much as 1-2GB of most frequently accessed data no longer being cached).

The biggest downside in my view is Romex's insistence on licence activation (see this thread for a discussion) which means users of PrimoCache/Ramdisk are likely to lose functionality if support ceases for any reason. Also since PrimoCache 2.2.0 (and presumably the latest version of Primo Ramdisk) Romex have been storing invalid characters in their Registry keys making a clean uninstall using standard tools impossible (restoring the Registry hive files from a backup still works though, as do tools like RawReg). Message to Romex on this: yes it's your software but it's my computer.

Finally, I'm using 32-bit Windows (XP SP3) so PrimoCache/Ramdisk's support for "invisible memory" beyond the 3.25GB WIndows can normally manage is a major plus. Since they're using memory not more generally available, these products are a win-win for 32-bit users with more than 4GB RAM. For 64-bit Windows though, I'd be much more sceptical - I can see Primo Ramdisk being of benefit still for speed-critical data but PrimoCache's (unavoidable) duplication of Windows' existing file cache makes it's benefits less certain in my view.
You seem good at this, may i know how you are caching other content to your ramdisk? In my mind i can only think of windows temp folders and pagefiles. I'd also like to throw other program or game cache files into my ramdisk but i'm not sure how to.
InquiringMind
Level SS
Level SS
Posts: 477
Joined: Wed Oct 06, 2010 11:10 pm

Re: PrimoCahce settings suggestions

Post by InquiringMind »

Sorry about the late reply - in my experience most games will just use the Windows Temp folder which can be moved onto the ramdisk using the Utilities button on the Primo Ramdisk window. I have only found a few that use their own temp files and usually the files/folders have a name like "Cache" or "Temp" (such as the Infinity Engine games - Baldur's Gate, Icewind Dale, Planescape, etc) and for these, moving such a folder onto the ramdisk and using either the Junctions section under Utilities or (better IMHO) the free Link Shell Extension to create a junction at the folder's original location (with the same name) pointing to the new location on ramdisk should work fine.

So if you wanted to relocate C:\Games\Baldur's Gate\Cache then you would move the Cache folder onto Ramdisk (and rename it to say Baldur's Gate Cache to avoid confusion with other programs with a similar folder), then create a junction named Cache in C:\Games\Baldur's Gate pointing to Z:\Baldur's Gate Cache (assuming you set you ramdisk up as Z).

If a program doesn't use obvious names for temporary data (Pillars of Eternity being one recent example, which has a CurrentGame folder in %LOCALAPPDATA%\Obsidian Entertainment\Pillars of Eternity\) then it's much tricker. You could use a utility like Process Monitor to track file usage for a process, but that's a complex procedure. The simplest option is to use a snapshot-based install monitor when you install a program and only take the second (post-install) snapshot once you have installed, started and saved a game. At that point, the comparison between snapshots should show up all data created by the program, allowing you to more easily identify temporary data.

Edit: another approach would be to use a file/folder monitor which can track activity while another program is running. They don't usually tell you what program has made the change, but it should be straightforward to link events with actions you took using your selected program.
Post Reply