[Win8.1 Ent.] Make ram usage more opportunistic


Recommended Posts

I recently built my new system with a sizable amount of ram (32GB). I did this so that, when I run multiple instance of SQL Server and Hyper-V VMs, I would have sufficient resources to do my work when I work from home. However, a majority of the time I do my work at work. As a result, Windows has a whole lot of ram that is not being used, even for caching purposes. I was wondering if there was any way to make Windows more opportunistic with its ram usage?

 

Attached is a screenshot of resource monitor's physical memory usage bar. As you can see I have nearly 29 GB of ram just sitting there unused. I have alrerady used fsutil to set the MemoryUsage parameter to 2 to use additional memory there but I was curious if there was anything else I could do? I tried scouring google but most of the time I find articles on freeing up memory as opposed to increasing the usage.

 

Note: I stop the sql server instances and shut down the hyper-v vms when they are not in use.

 

 

tl;dr: Configuration settings needed to make Windows consume more of the available memory present.

post-20891-0-93430400-1394343620.png

Link to comment
Share on other sites

It's going to use as much memory as it needs, it won't load in random files unless it thinks you're going to use them (prefetch) or if you are using them.

The cache value will grow over time as files are loaded, but you can't make it preload random files (Unless you actually wrote an application that went around doing so)

Link to comment
Share on other sites

Even if you did manage to get it to pre-cache/fetch more, is there really going to be noticable benefit in practice? The additional things it would be pre-caching/fetching would probably not be used enough for it to matter if they were somehow forced.

 

I'd ask yourself this: do you have specific things in mind yourself that you think should be pre-cached/fetched? The only thing that comes to my mind is often used programs or files. Beyond that, I can't think of anything else you'd want to cache and if you/I as humans can't, I don't think Windows is going to be able to be more clairvoyant ;-)

Link to comment
Share on other sites

Fair enough and I suppose the games I play wouldn't know to load the textures from the ram as opposed to the disk when loading them into gpu memory unless I go with the ram disk solution.

 

I could make a ram disk but I'm not sure what I'd put in there unless I could make it sync back to the regular disks in the background so the data isn't lost on shutdown/power loss.

Link to comment
Share on other sites

Assuming the machine is used for multiple things the cache will grow over time, and Windows will try to predict what applications are loaded on what days and store those items in the cache. If it never does anything but a single task it might never be filled. On my machine with 16 gb ram, it lists only 28MB free, and 11 GB cached, 5 in use.

Link to comment
Share on other sites

It filled the free memory during a file copy but eventually dropped it from the cache. I probably just need to be more patient and give it more time to learn and adapt and if it still remains relatively wide open, maybe i'll just leave sql or a vm running in the bg then.

Link to comment
Share on other sites

Fair enough and I suppose the games I play wouldn't know to load the textures from the ram as opposed to the disk when loading them into gpu memory unless I go with the ram disk solution.

I would say that most data that fills up memory is very transient in nature anyway. Browsers for example would be reliant on the browser cache being consistent and static for pre-caching to work. Textures really are one of the easier things things that you could drop into RAM since they are persistent and won't change for a given version of the game. I think smart developers do exactly what you are saying anyway: pre-cache textures into main memory to reduce bottlenecks when they are needed in the GPU memory.

Link to comment
Share on other sites

This topic is now closed to further replies.