Seems like I'm running out of memory when SuperFetch should be freeing some of its cache

Discussion in 'General Technical' started by darlingm, Feb 12, 2008.

  1. darlingm

    darlingm

    Joined:
    Feb 12, 2008
    Messages:
    4
    Likes Received:
    0
    I was previously running Vista 32-bit on 2GB of memory. Too easily, I seemed to be running out of memory - at least I think that's what was happening. I would go to do something, like open a new IE7 tab, open a save dialog box, or right click, and the "shell" of the new graphical area would show up, but it would be empty inside. This always seemed to happen when my free memory was running low in Task Manager.

    Intel Core 2 Duo E6600
    Intel D965OT Motherboard
    4GB (4x1GB DDRII-800)

    I just upgraded to 4GB of memory. In case it matters, I'm running an Intel Core 2 Duo E6600 on the Intel D965OT motherboard, and have 4GB (4x1GB) of DDRII-800 installed.

    I know that Vista 32-bit can't use the full 4GB due to addressing space issues, but it is seeing 3325MB which is still an improvement over 2GB for me. (I'm currently staying away from Vista 64-bit to avoid driver issues and non-support for 16-bit installer issues.)

    However, I'm still having the same problem which seems like I'm out of memory at about the same spot. I don't seem to be getting an additional 1+GB of usable memory from upgrading from 2GB to 4GB (3.25G seen by Vista).

    Below is a link to a screenshot that I made, which shows a Microsoft Office Word 2007 dialog box that shows its outside "shell" but is empty inside. The screenshot also has the Performance tab in Windows Task Manager open, so you can see what's going on in there. (For the screenshot, note that I run dual monitors and am only posting the left monitor which is otherwise empty, also the web image hoster resized the image down.)

    Screenshot link: http://img.auctiva.com/imgdata/4/7/8/5/1/2/webimg/105693636_o.jpg

    In the Performance tab, it shows for Physical Memory: Total 3325MB, Cached 1544MB, Free 24MB. For Kernel Memory, it shows Total 157MB, Paged 115MB, and Nonpaged 41MB.

    Before someone unfamiliar with Vista memory mangement points to "Free 24MB", please read this next part. Vista has a much different approach to memory management. Vista treats what would formerly have been free memory as a cache, this is called SuperFetch. It trues to pre-emptively fill up what would formerly have been free memory with data off your hard drive that it thinks might be needed in the future -- to avoid having to actually load that data off your hard drive when you ask for it.

    The problem is that applications seem to be running out of memory they can use, and I thought that Vista was supposed to free up some of the SuperFetch cached memory that wasn't needed, so an application could have it for its memory.

    I'm not running any single application that needs or can use 2GB of memory by itself. I'm just running a lot of seperate IE7's, Word's, Excels, notepads, etc. I don't believe the IncreaseUserVa switch will help me, because if I understand it correctly, that's if you want a single application to be able to use more than 2GB of virtual memory -- rather than all applications in total.

    Any ideas or suggestions?
     
    darlingm, Feb 12, 2008
    #1
    1. Advertisements

  2. darlingm

    faust1200

    Joined:
    Nov 11, 2007
    Messages:
    23
    Likes Received:
    0
    Typically when you are running low on memory in Vista you will get a "low memory" warning specifically then some sort of crash maybe. Also it sounds like you have plenty of memory to run Vista even though you are only accessing 3 gigs and change. I don't think it's memory issue. If you think it's a superfetch issue you can disable it in services and do some testing. Also try another browser to see if the same thing occurs.



    FWIW, I don't use superfetch. My computer is fast enough that I don't need things preloaded. I use Vista 64 with no issues and I don't use IE7 - Mozilla Firefox.
     
    faust1200, Feb 13, 2008
    #2
    1. Advertisements

  3. darlingm

    darlingm

    Joined:
    Feb 12, 2008
    Messages:
    4
    Likes Received:
    0
    Thanks for your reply. I'm going to try disabling SuperFetch, and see if that helps. I haven't ever gotten any Vista low memory warnings. And, once it starts happening, it's every application not just IE7. Word 2007, notepad, Excel 2007, even Firefox which I use sometimes all have this effect. My computer is pretty fast as well, so I'll probably get by withoutSuperFetch just fine.
     
    darlingm, Feb 13, 2008
    #3
  4. darlingm

    WAW8

    Joined:
    Jan 27, 2007
    Messages:
    3,541
    Likes Received:
    2
    Location:
    Northern Virginia, USA
    I would be surprised if disabling SuperFetch fixes the display problem you're seeing -- because I have a hard time understanding how the two are related. SuperFetch (IMHO) is a fancy MS-term for a combination of caching and pipelining, in which, instead of loading an app fresh from disk every time it's used, Vista attempt to cache frequently used apps in memory to server as an app cache -- which (in theory) will allow the app to reload instantaneously (or so the marketing lingo claims!).



    So, if you were completely using up all of the memory, the worst I would expect to see is that apps load slower -- but not, as in your case, display artifacts.



    Also, I found claims that SuperFetch only provides improvement if you're using over 4GB of RAM -- which you're not. So, it would be worth turning it off, if for no other reason, just to see if your real-time performance degrades.
     
    WAW8, Feb 13, 2008
    #4
  5. darlingm

    darlingm

    Joined:
    Feb 12, 2008
    Messages:
    4
    Likes Received:
    0
    Now I'm really confused. I finally got around to disabling SuperFetch from automatically starting, and rebooted. SuperFetch is listed in Services as Status "" (not started) and Startup Type "Disabled".

    Yet, in Task Manager, it's still gobbling up Free Physical Memory and converting it to Cached Physical Memory.

    Does disabling the SuperFetch service not really disable SuperFetch? Or is it not the SuperFetch service that performs this caching?
     
    darlingm, Feb 16, 2008
    #5
  6. darlingm

    WAW8

    Joined:
    Jan 27, 2007
    Messages:
    3,541
    Likes Received:
    2
    Location:
    Northern Virginia, USA
    Is the display problem you were seeing cleared up now that you have "disabled" SuperFetch? As I said, I would be surprised it it was, but with Vista, I get surprises all the time!



    My knowledge of the details of SuperFetch are lacking, but as I said earlier, it seems like it is intended to only speed up program loading; therefore, it wouldn't have anything much to do with real-time memory management once a program is executing.



    The following is a link to an article on Vista memory management, with links to other articles. Maybe these will answer your questions:



    [url]http://www.microsoft.com/technet/technetmag/issues/2007/03/VistaKernel/ [/url]



    If you feel like re-enabling SuperFetch, the following is another tweak you could try:



    [url]http://www.howtogeek.com/howt...tch-to-only-cache-system-boot-files-in-vista/ [/url]
     
    WAW8, Feb 16, 2008
    #6
  7. darlingm

    darlingm

    Joined:
    Feb 12, 2008
    Messages:
    4
    Likes Received:
    0
    I just opened up a ton of things, like 40 IE tabs, 20 Excels, 20 Words, playing an MPEG, etc, and around when task manager showed Physical Memory: Total 3325MB, Cached 1505MB, Free 2MB, things started having problems again. This is around the same amount of used non-cached memory where I've had problems before.

    When I opened paint to copy in a screenshot for myself, it failed to open saying "Failed to create empty document". Clocking on My Computer, I saw the outline of the window come up and immediately close. I was getting "undone" graphics on save windows in applications and new tabs in IE.

    I can't help but shake the feeling that regardless of what task manager is saying, the app's aren't able to dynamicly get more memory once I push the memory load up like that -- and that part of the app is being handled, but it's graphical subwidgets are failing out.

    SuperFetch service is disabled, however Task Manager shows (after reboot) that it's still caching memory, which I think is attributable to SuperFetch. My understanding of SuperFetch is that it loads applications and data from your hard drive that it thinks you might need in the future, so it's faster to load if you do need it. And, that if applications need more memory, it's supposed to automatically dump the least important part of it's cache, to give more free memory. That's also the impression that I got from the first link you provided me.

    It's not that I think SuperFetch is interfering with the application because it helped load it, it's that I think SuperFetch isn't properly deallocating cache memory for other things it has cached that I am not yet using -- when an active application needs additional memory.

    Tomorrow, I will test out modifying the registry to make SuperFetch&Prefetch only cache boot files, and see if that has any effect once I push up the amount of memory used.

    EDIT: Decided to test the registry tweaks before going to sleep. Set in Computer_HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters both EnablePreFetcher=0 and EnableSuperFetch=0 (to disable both), rebooted, and Task Manager is still showing the usual amounts of cached physical memory, and I start having the same problems around 3325MB Total, 903MB Cached, 16MB free. ARGH. Maybe tomorrow I'll see how XP acts. My machine is formatted as a dual boot, I just haven't used XP since I set it up because everything's installed under Vista.
     
    darlingm, Feb 16, 2008
    #7
  8. darlingm

    WAW8

    Joined:
    Jan 27, 2007
    Messages:
    3,541
    Likes Received:
    2
    Location:
    Northern Virginia, USA
    Understand that once you return into XP on your dual-boot machine, you will have wiped out ALL the Vista restore points. Sorry, but that's what happens. XP doesn't understand the shadow copy feature of Vista, so it erases all the "invalid" restore points. You will probably lose all the XP restore points when you boot back into Vista -- for much the same reason.
     
    WAW8, Feb 18, 2008
    #8
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.