15

I have a fresh install of Windows 7, and my RAM in normal startup goes up to 2.5GB. I looked at Task Manager, and there's at least 1.5GB missing from there and in Resource Monitor as well. There's no indication of what's using that RAM. Can someone tell me how I can find out what's consuming my memory? I believe it's a virus, but none of the free antivirus programs tracked it down.

I added the pictures below. If this is normal usage of Windows 7 as some answers imply, then I don't get this at all.

P.S.
My Windows 8 Installation was running below 2.5GB, actually it was 1. something, until recently that I transferred some files from another computer which had the same problem that mine has now. I deleted Windows 8 and installed Windows 7, since I would do that anyway, and now I'm getting high memory usage in Windows 7 as well.

Screenshot
(Click images to enlarge)

Screenshot

3
  • Welcome to SuperUser! In order to help diagnose your computer, we need a bit more information. Could you include a screenshot of task manager so we can see what's going on?
    – digitxp
    Jun 27, 2013 at 19:28
  • 2
    Good to be here :) I added the pics in my question.
    – Not Amused
    Jun 27, 2013 at 19:58
  • 11
    Re: I believe it's a virus: xkcd.com/1180 (SCNR)
    – Heinzi
    Jun 28, 2013 at 5:14

5 Answers 5

65

If you want the OS not to use your RAM, take it out of your machine and sit it on your desk. But so long as the RAM is in the machine, using it is free. If you're thinking "I want the RAM free now so I can use it later", you're being silly. You can use it now and use it later. There is no disadvantage to using the RAM. None at all.

Modern operating systems only make RAM free if they have no choice. This is because there are only two things that can happen. If the RAM is used soon, then they just have to make the RAM used again, wasting the effort they went through to make the RAM free -- it is easier to move RAM directly from one use to another. And if the RAM is not used soon, then the effort of making it free is again wasted. Making RAM free is a last resort used only if the OS has no other choice because it adds an extra step the OS will have to go through in order to use the RAM.

Free RAM is only needed for the rare cases where RAM is needed and the operating system cannot transition RAM from one use to another (for example, in interrupt context). Only a very small amount of RAM is needed for this purpose, typically 64MB or so on modern computers. Any more free RAM than that is just waste.

Consider if a program runs and then stops. The program is in RAM. The operating system could make the RAM free or it could keep the program in RAM. If the program runs again soon, keeping it in RAM is a huge win -- disk I/O is avoided. And there is zero cost to keeping the program in RAM if the RAM isn't needed for some other purpose. So the OS keeps the program in RAM until that RAM is needed for something else. Making the RAM free when free RAM isn't needed is a pure losing proposition.

7
  • 1
    This is... crappy. I wasted my day chasing unicorns as it seems. I want to thank everybody for their answers and mark this one as the Correct because I think it's the most informing one.
    – Not Amused
    Jun 27, 2013 at 20:12
  • Excellent answer. This goes hand-in-hand with "How much RAM do I need?" You only need as much as you use.
    – Keltari
    Jun 27, 2013 at 21:32
  • 9
    What people don't understand is, free/idle RAM is wasted RAM. What's it there for anyway? People were so used to XP-'s way of doing things that there were massive complaints about Vista being a RAM hog (few of which were justified).
    – Karan
    Jun 27, 2013 at 21:57
  • 1
    The problem with these answers is that, while correct, they address the lack of 'free' RAM by explaining it as used for caching. 'Cache' RAM is distinct from that allocated to running processes, and the question appears to be asking specifically about the RAM 'used' by running processes. The RAM used by the OS for caching should be completely transparent, and should not appear as 'used' in the task manager (of course, if individual processes decide to use more of the available RAM for their own caching then this does not apply, and this may be the case here).
    – Bob
    Jun 28, 2013 at 3:49
  • 4
    @Bob The case is exactly the same with memory allocated to running processes. Almost all physical RAM is essentially a cache on a modern operating system. Memory allocated by a process may or may not correspond to actual physical RAM depending on what other needs the OS has. Jun 28, 2013 at 6:56
8

Windows 7 tries to take advantage of all your RAM. If no program is using it, it'll store as much information from your HD as possible, so that when a program requests some information, it'll be available in RAM (that is much faster then your disk).

This feature is called Superfetch and you can read information about it in that link, or also googling around. And if you want to know how it impacts (improves) performance, take a look at Tom's Hardware site.

If a program requires more memory, Windows will provide the necessary RAM to your program, so it isn't a thing you should worry about.

4

Likely what you are observing are the disk caching features of Windows 7, they actually optimize the RAM usage, even though it appears as though the opposite is happening.

The Linux kernel also has this type of feature.

5
  • 1
    I'm using linux as my primary OS and to reach 2.5 GB of ram I have to... actually I think I never reached 2.5 GB ram with what i do.
    – Not Amused
    Jun 27, 2013 at 19:39
  • Is there a way to check if that's the case? Is there a way to turn that feature off and see what happens? I'm new to windows.
    – Not Amused
    Jun 27, 2013 at 19:45
  • Yes, this explains how: addictivetips.com/windows-tips/disable-windows-7-superfetch (notice they recommend against disabling for most use cases)
    – dtmland
    Jun 27, 2013 at 19:47
  • 3
    Note that turning off Superfetch just means that Windows can use the memory for other purposes. "Free memory" in the end still means that Windows has no idea at all what to do with it.
    – MSalters
    Jun 28, 2013 at 12:02
  • SuperFetch, the new "disk caching feature" of Windows 7 (and Vista, and 8, and 8.1, and 10) does not take RAM from "available" RAM. The RAM it "uses" remains on the standby list and therefore "available." It just is used to cache different stuff - contents of files you've accessed recently, as opposed to pages that were recently pushed out of processes with low memory priority. Mar 16, 2019 at 10:26
3

2.5 GB or RAM is a perfectly normal amount for Windows 7 to be using. Currently, my machine is idle and sitting at 2.51 GB of used RAM. I highly doubt you have a virus, this is typical memory usage.

As for what is using that RAM, look at your Task Manager and make sure the Show processes from all users checkbox is checked. Without that selected, you wont see any system processes (or other users)and their memory usage.

4
  • 1
    I agree, I just did a fresh Win 7 install and memory usage is about 2.1 GB.
    – user201262
    Jun 27, 2013 at 19:44
  • And what would happen if someone had 2 GB of ram instead of 8 that my laptop has?
    – Not Amused
    Jun 27, 2013 at 20:00
  • 4
    If you had less RAM it would use less. Jun 27, 2013 at 20:02
  • @DeusDeceit to add to David's comment, any modern OS (Windows, Linux, MacOSX) will look at the memory available to it and decide on the most efficient way of using it. No modern system is going to try and fill 2Gb of ram with 3Gb of data and get two thirds of the way through and say "oops".
    – Rob Moir
    Feb 4, 2016 at 11:32
3

This is very similar to common Linux concern that "Linux ate my RAM". I am doing heavy usage of my Windows 7 machine and when I had 6GB of physical RAM it eats something like 5GB. When I upgraded to 8GB, it's eating 6-7GB. But I did not change anything with what I'm doing with my machine.

It uses the RAM to cache files, so that it can be accessed faster later. Very similar to Linux. It's really free, and Windows 7 will release when your application needs to allocate more RAM.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .