Unreasonable RAM usage in Windows 7

16

1

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

Deus Deceit

Posted 2013-06-27T19:15:58.107

Reputation: 315

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 – 2013-06-27T19:28:38.683

2Good to be here :) I added the pics in my question. – Deus Deceit – 2013-06-27T19:58:44.413

11

Re: I believe it's a virus: http://xkcd.com/1180/ (SCNR)

– Heinzi – 2013-06-28T05:14:36.137

Answers

64

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.

David Schwartz

Posted 2013-06-27T19:15:58.107

Reputation: 58 310

1This 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. – Deus Deceit – 2013-06-27T20:12:24.397

Excellent answer. This goes hand-in-hand with "How much RAM do I need?" You only need as much as you use. – Keltari – 2013-06-27T21:32:16.447

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 – 2013-06-27T21:57:53.307

1The 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 – 2013-06-28T03:49:14.883

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. – David Schwartz – 2013-06-28T06:56:03.133

"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" - wouldn't it make the RAM allocated for interrupted routine and therefore not really free? – Maciej Piechotka – 2013-06-28T10:47:33.280

@MaciejPiechotka: I suppose you could think about it that way. But the RAM is in the operating system's free pool and is reported as free. – David Schwartz – 2013-06-28T17:38:50.997

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.

woliveirajr

Posted 2013-06-27T19:15:58.107

Reputation: 3 820

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.

dtmland

Posted 2013-06-27T19:15:58.107

Reputation: 2 281

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. – Jamie Hanrahan – 2019-03-16T10:26:06.860

1I'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. – Deus Deceit – 2013-06-27T19:39:12.733

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. – Deus Deceit – 2013-06-27T19:45:26.747

Yes, this explains how: http://www.addictivetips.com/windows-tips/disable-windows-7-superfetch/ (notice they recommend against disabling for most use cases)

– dtmland – 2013-06-27T19:47:44.680

3Note 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 – 2013-06-28T12:02:02.460

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.

Keltari

Posted 2013-06-27T19:15:58.107

Reputation: 57 019

@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 – 2016-02-04T11:32:12.707

1I agree, I just did a fresh Win 7 install and memory usage is about 2.1 GB. – Moses – 2013-06-27T19:44:11.670

And what would happen if someone had 2 GB of ram instead of 8 that my laptop has? – Deus Deceit – 2013-06-27T20:00:24.140

4If you had less RAM it would use less. – David Schwartz – 2013-06-27T20:02:33.850

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.

JavaDev

Posted 2013-06-27T19:15:58.107

Reputation: 131