24
8
Many people are educated on how Windows Memory manager caching works by reading Microsoft white papers, etc. However, there are relatively few documents that describe real-world performance issues (sluggishness) related to very large/growing mapped files and standby lists.
I have a Win7 64bit (8Gb RAM) PC which acts as a server. I can't add any more memory to it. It has a bunch of TV tuners which record/write several simultaneous gigantic mpeg2 files (at least 3-8GBs each) to a HDD 24/7. Depending on how busy my PC is recordings TV shows, after 1-3 days, my PC becomes sluggish.
By just looking at Windows Task Manager, it appears that I don't have very many large applications open; and, plenty of "available memory". Even if I close all active processes, the PC remains sluggish. However, when using RamMap, I can see that these large mpeg2 files become mapped files in the active standby list; which over time make my PC very sluggish. If I select "Empty standby list" in RamMap, my PC immediately becomes extremely responsive; as if I just rebooted it. There is nothing else I can do to address sluggishness. In fact, the PC will never recover from this sluggishness unless I empty the standby list or reboot.
I have a command-line utility, EmptyStandbyList.exe, which I found that quietly purges the standby list instead of having to do that in RamMap's GUI. However, unfortunately it also purges smaller items in the standby list that are very useful for performance purposes to stay in the standby list.
While searching on Google, I've found other people who have almost the same exact issue as me. However, most of their questions go unanswered; with no real explanation to why this happens; and, no definitive way to fix the issue other than the "Empty standby list" technique.
I've seen mentions of a MS utility/service called "Dynamic Cache"; but not sure if it cures specifically what I want. Also, the Win7/Win2008 R2 version of it seems to be only available via MS support. I also saw a couple of utilities which set the "min/max NT cache limits"; but those look like they're specific to Working sets for processes, not standby lists.
I'm hoping someone who can think outside-the-box can think of a more graceful cure for me instead of me having to use brutally empty the entire standby list regularly; and, hopefully have a definitive explanation to the symptom me (and other people) are seeing. The reason I mentioned "outside-the-box" is because there are already plenty of people who like to just recite how mapped files and standby list priorities "should" work on paper; which isn't very helpful for me.
I realize this is an old post and that this suggestion could be difficult to test, but if someday you get the opportunity you may want to try your setup with a server edition of Windows. Perhaps there's yet more undocumented under-the-hood differences in how a server OS handles memory that would work to your benefit. – I say Reinstate Monica – 2014-09-26T01:46:10.153