Vista x64 RAM usage?

Discussion in 'Windows Vista Performance' started by Anfy, Aug 8, 2008.

  1. Anfy

    Anfy Guest

    Hi all,

    I am new to this forum, so bare with me if this has already been
    discussed...

    When I first start my computer (Vista Ultimate x64), on 4GB of RAM, the
    system uses about ~36%. This gradually increases to ~40% later on. The
    problem is, when I leave the computer on for extended periods of time (a
    few days), this "idle" RAM usage goes up dramatically, to 60+ and
    sometimes 70+ %, with VERY few programs, if any, running. Looking at
    task manager or process explorer (with admin rights enabled) shows
    absolutely no culprit to this extreme RAM usage. Unlike what Superfetch
    (if it were the problem) would do, when memory intensive programs (like
    firefox and google earth, each easily taking up 300~500MB) are running,
    the RAM is not given up, and results in total RAM usage of 80%+.
    Sometimes this causes firefox to crash, and occasionally (haven't had it
    happen in months), the system would crash.

    The page file has been set to 32MB (left on so the virtual memory
    addresses are open), but it clearly doesn't explain why Vista chews up
    so much memory by itself.

    Attached is a picture of Vista chewing up 81% RAM idling, with nothing
    running except MSN and WMP. Just before this screenshot was taken, RAM
    jumped up to 97% (nothing crashed, surprisingly), and soon afterwards,
    it dropped to 66% (after being at ~80% for quite a while).

    I've also noticed that around 2:30AM-3:00AM, something likes to start
    eating RAM and CPU cycles (with no indication whatsoever in process
    explorer), and eventually stop for no reason. This happens often.

    Any idea where I should start? All help is greatly appreciated!

    Edit: in the screenshot I forgot to enable all processes, but process
    explorer (with admin rights) didn't show anything else except 2
    svchost.exe's taking up ~280MB in total.


    +-------------------------------------------------------------------+
    |Filename: vista ram.jpg |
    |Download: http://www.vistax64.com/attachment.php?attachmentid=5680 |
    +-------------------------------------------------------------------+
     
    Anfy, Aug 8, 2008
    #1
    1. Advertisements

  2. Anfy

    Mick Murphy Guest

    Your page filing/virtual memory is usually set to 1 and a 1/2 times the RAM
    by default.
    Why have you got it set to 32MBs?
     
    Mick Murphy, Aug 8, 2008
    #2
    1. Advertisements

  3. Anfy

    Anfy Guest

    Setting the page file to 32MB prevents RAM from being written to the HD
    in the form of page files, which makes the system slower. Since I don't
    run any memory intensive programs, it isn't a problem normally, and
    makes my computer a lot more responsive.
     
    Anfy, Aug 8, 2008
    #3
  4. Anfy

    Mick Murphy Guest

    I was re-reading your 1st post about the time 2.30-3.00am
    Auto Updates is set for about that time.
    I think Defrag was scheduled for about then as well, but only one night a
    week.
     
    Mick Murphy, Aug 8, 2008
    #4
  5. Anfy

    Anfy Guest

    That makes sense, but the high "idling" (not running anything else) RA
    usage is independent of real-world time, rather on system up-time. :
     
    Anfy, Aug 8, 2008
    #5
  6. Unlike what Superfetch
    So what?
    With those "memory intensive" programs running, you still have about
    20% of free RAM. Why would Superfecth free up any RAM if there's still
    plenty of RAM available?

    --



    Met vriendelijke groet,
    Mark Veldhuis.
     
    Mark Veldhuis, Aug 8, 2008
    #6
  7. Anfy

    Mark H Guest

    Maybe I'm missreading your post, but if you have 4 GB of memory, your
    pagefile should be in the territory of 6 GB, not 32 MB, which is extremely
    small for that amount of memory you have. Probably just a typo, eh?
     
    Mark H, Aug 8, 2008
    #7
  8. Anfy

    Anfy Guest

    At that point Vista is giving me frequent memory low warnings, and
    Firefox crashed a couple of times. Shouldn't Superfetch free up RAM
    then?


    *@Mark H:*
    With a very limited hard drive space on my laptop, I can't afford a 6GB
    page file that would make my system slower from all the paging. It also
    doesn't explain why the system can boot up and run fine on 30~40% of RAM
    for a few hours, then decide it wants 30% more for no reason, and
    doesn't give any indication of where the RAM went. That is what I'm
    really asking. If you think my page file is not enough, please explain
    how it is related to the problem.
     
    Anfy, Aug 8, 2008
    #8
  9. At that point Vista is giving me frequent memory low warnings, and
    Are you 100% sure you're seeing "memory low" warnings, not "virtual
    memory low" warnings?

    --



    Met vriendelijke groet,
    Mark Veldhuis.
     
    Mark Veldhuis, Aug 8, 2008
    #9
  10. Anfy

    Kerry Brown Guest

    As an experiment set your page file to "System managed size" and see if your
    problem goes away. I'm pretty sure your page file size is the problem.
     
    Kerry Brown, Aug 8, 2008
    #10
  11. Anfy

    Anfy Guest

    Yes, I am sure (see screeny)

    I don't know, but 700MB memory left seems plenty to me. Should I chec
    for RAM errors

    Is there any program that would allow me to see where my RAM is going
    if it is not at all accounted for in Process XP/Task Manager

    +-------------------------------------------------------------------
    |Filename: vista ram 2.jpg
    |Download: http://www.vistax64.com/attachment.php?attachmentid=5681
    +-------------------------------------------------------------------
     
    Anfy, Aug 8, 2008
    #11
  12. Anfy

    Mark H Guest

    In modern operating systems, including Windows, application programs and
    many system processes always reference memory using virtual memory addresses
    which are automatically translated to real (RAM) addresses by the hardware.
    Only core parts of the operating system kernel bypass this address
    translation and use real memory addresses directly.

    Virtual Memory is always in use, even when the memory required by all
    running processes does not exceed the amount of RAM installed on the system.

    RAM is a limited resource, whereas virtual memory is, for most practical
    purposes, unlimited. There can be a large number of processes _each_ with
    its own 2 GB of private virtual address space. When the memory in use by
    all the existing processes exceeds the amount of RAM available, the
    operating system will move pages (4 KB pieces) of one or more virtual
    address spaces to the computer's hard disk, thus freeing that RAM frame for
    other uses. In Windows systems, these "paged out" pages are stored in one
    or more files called pagefile.sys in the root of a partition.

    By limiting the number of virtual addresses available with a minimized
    pagefile size, you actually cause more paging to occur as the programs find
    they need the same addresses to run. Even though the programs may not use
    these addresses under normal conditions, the program assigns the space based
    on program requirements under all known conditions. Each program may
    allocate 2GB of virtual addresses to run properly. If this space is not
    available, the application may become unstable.

    If you look at the Performance Monitor page you will see text indicating
    types of memory in use:
    Committed Bytes - how much has been allocated by processes. If this value is
    greater than your RAM, then the additional space must be available as
    pagefile space.
    Working Set or Total - shows how much is actually in use. As this value
    approaches your total RAM value, non-critical functions are moved over to
    the pagefile.
    Available MB - When RAM is in short supply (committed > installed), the OS
    will attempt to keep a certain fraction of installed RAM available (20%) for
    immediate use by copying virtual memory pages that are not in active use to
    the page file.

    It is possible to have very few "programs" running and still be
    overcommitted. In this case, a larger pagefile will accept the non-critical
    information _once_ and be done. In this case, it does not slow you down. If
    the pagefile is small, then windows will keep shuffling the current
    non-critical tasks to the small pagefile creating a larger workload on the
    RAM and thrashing the hard drive.

    In today's computers, 32MB is a pittance and unlikely to be sufficient to
    allow stable operation of more than a couple processes. The addition of RAM
    and switching to x64 will prevent overcommitting and make the pagefile less
    needed allowing it to be smaller.

    Good luck!
     
    Mark H, Aug 8, 2008
    #12
  13. Anfy

    Anfy Guest

    First of all, thank you for the explanation and patience.

    Yes, I understand how virtual addresses work, as you described above.
    Correct me if I am mistaken, but I was told (on another forum) that
    using 32MB on a page file enables the "unlimited" virtual address, so
    that only what programs actually need (not what they allocate) is
    written to the RAM. Assuming that my running programs' Working set
    total stay well below the maximum RAM on my computer (which they do),
    then 32MB of page files should be enough. Only when my total working
    set is greater than my RAM is paging really necessary. In that case,
    enabling a page file bigger than 32MB may result in unnecessay page-outs
    should Windows determine part of the non-critical working set of itself
    or running programs could be put in page files to optimize RAM usage.

    So what? The extra 30% (1.2GB) of RAM uncounted for, used by the OS
    (or something else) is making my RAM available to programs ridiculously
    lower, and if I had a bigger page file, it would account for some
    incredible page-outs. That is the root of the problem.

    P.S. I have experienced ZERO disk-thrashing, with the exception of
    software updates and defragmenting.
     
    Anfy, Aug 8, 2008
    #13
  14. Anfy

    Spirit Guest

    Vista actually needs virtual memory. Reset to the defaults and your
    problem should disappear. Clearing and/or Freeing Up memory is
    part of the process which Vista uses virtual memory.

    The other remote possibility is you run something regularly that does
    not free up used memory. Old games and other older programs could
    fall into this category however is unlikely these run in native Vista. You
    would have to be using a Virtual Machine.
     
    Spirit, Aug 8, 2008
    #14
  15. Anfy

    Mark H Guest

    Hmm...
    32MB is the recommended minimum pagefile size for the OS partition IF you
    split the pagefile across multiple drives.
    This can result in faster read/writes since the drives can operate
    independantly.

    400MB is the mimimum pagefile size recommended to record crash data.

    The fact that you are not thrashing the HDD is good news and indicates that
    actual paging is not likely part of your issue. At least, not until it
    attempts to page to free your memory.

    I still believe that you are imposing the problem on yourself with such a
    small pagefile. Programs want to use the pagefile, if available, to maximize
    the amount of memory available for other processes. Some programs create a
    pagefile of their own if an adequate one is not available in windows.
    Window's garbage collection routines (on systems with 4GB or less) do not
    free memory until a minimum threshold of physical memory is reached (which I
    believe is 32MB, or 99% of resources.) So, if everything is being retained
    in RAM (remember, various things auto-start over time,) then memory will
    "disappear" or be "used" over time until the threshold is reached at which
    point all these silent processes attempt to move to the page file which
    basically doesn't exist and your computer reports low memory because it
    cannot free up the memory that is being demanded fast enough. (My theory.)

    Task Manager can be use to open additional colums that allow you to see VM
    use, or attempts.

    With that, I'll let you go back into the fray for answers, since I don't
    have a definite answer.
     
    Mark H, Aug 8, 2008
    #15
  16. Anfy

    Kerry Brown Guest

    Rather than theorizing why not just make a recommended size page file and
    see if the problem goes away? If it doesn't then go back to the 32 MB page
    file, no harm done.
     
    Kerry Brown, Aug 9, 2008
    #16
  17. I guarantee that if you set your virtual memory to the proper amount,
    those warnings will go away.

    If you persist in keeping it at its lowest settings, don't cry when
    you run into problems.

    I have 3gigs of memory on this machine and it idles at 21%. When I
    had 1 gig - two days ago - it idled at 40% (I've added some startup
    programs since adding the RAM, though). Normal usage, it sits around
    40%. Highest I've seen since adding the extra RAM has been 70%
     
    Paul Montgomery, Aug 9, 2008
    #17
  18. Anfy

    chongjee Guest

    To make a long story short, there are lots of applications which want to
    access pagefile memory instead of RAM.
    On the contrary, some applications try to use only the RAM instead of
    pagefile memory.

    so, even though you have a lot of available space of physical RAM, some
    application will still try to fit into pagefile (like photoshop for
    example)

    maybe the google earth is the one of them those who need to fit in
    pagefile memory.

    and lot of musical-sampler applications really need actually RAM
    instead of pagefile
    so that it can be much quicker response/access time. (about x30-x50)
    in that case, those applications will not put their cache files in
    pagefile eventhough there are lot of available space in there.
    they will show you "not enough memory" message if the physical RAM is
    full.
     
    chongjee, Nov 14, 2008
    #18
    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.