Windows using way too much memory

Started by
3 comments, last by Nemesis2k2 17 years, 6 months ago
I have recently noticed, that when I do something pretty memory heavy then my computer gets completely impossible to work with, so I tried checking the task manager to see if something took up way too much memory. Nothing looked very alarming, here are the ones which uses the most memory:
firefox.exe  55984 KB
ozengine.exe 11916 KB
Skype.exe    10586 KB
guard.exe    3196  KB
explorer.exe 2940  KB
tk.exe       2556  KB
The problem is that this isn't even close to correct, at the bottom it says: "Allocated memory: 1703M". I can wait 30-40 seconds for the task manager to even appear, so it have most likely started to use the HD (I have 1024MB RAM). In this case ozengine.exe was the real memory-hog, when I closed it down the total memory allocated changed to 534MB, but this is still way too much. I have Firefox, Winamp and Notepad open, and Skype and AntiVir running in the background. So I'm thinking that maybe there is some problem with my computer, I have no idea what, though. I just made a complete scan with AntiVir and Ad-aware, but it didn't return anything, so I doubt it's some spyware/adware/virus. Have anyone ever seen anything like this?
Advertisement
Windows Task Manager is horrible? Try Process Monitor and then Read This to get a good idea about how to actually measure memory usage.
I knew Windows task manager didn't give perfect results, but thought it was reasonably close (5% off maybe). What I really wanted to hear was if anyone else have had any issues like this, with Windows taking up more memory than it should (the absolute memory was correct, I used 1700MB on practically nothing). Anyway I downloaded Process Explorer, tried to compile a program with the Oz Programming Interface (which was the previous memory hog), and what I saw was scary. It started at 500MB, then it exponentially climbed until it hit 1200MB (that graph is supposed to be helpful, but it almost gave me a heart attack). It then started to logarithmically approached my "Commit charge limit", when it hit 2300MB (limit is 2500MB) I tried to shut it down, but since the computer was so slow I got to take a got look at the program and discovered an infinite loop (kept adding the first element of a list to itself, but should actually have added it to its tail, so that the tail at some point would be empty). So much for blaming everyone else, I couldn't really believe such a popular piece of software could take over 15 minutes and 1.8GB of memory to compile a simple 30 line program.
Quote:I knew Windows task manager didn't give perfect results, but thought it was reasonably close (5% off maybe). What I really wanted to hear was if anyone else have had any issues like this, with Windows taking up more memory than it should (the absolute memory was correct, I used 1700MB on practically nothing).

You should try actually reading the article you were directed to. The task manager gives perfectly accurate results, most people just don't have a clue what the numbers actually mean, and your OP shows that you don't.
Hmmm, I certantly put that bluntly. Let me have a slightly more helpful crack at that.

-The "Mem usage" column you were looking at in the task manager is the working set size for each process. That tells you how much physical memory that process is taking up at a given point in time. That does not tell you how much actual memory a process has allocated, because some of it may be paged to disk.
-The "VM Size" column tells you the commit charge for each process. That tells you how much virtual memory would be taken up if everything that could be paged to disk was dumped from memory. This does not tell you how much total memory a process is using, because not all memory gets paged to disk, such as executable code which already exists on disk, but gets read into memory for speed.
-The "Allocated Memory" figure you were looking at would have been the total commit charge at that point in time. That is the sum of the commit charge for all processes, plus all the memory reserved for the system cache, paged pool, and an assortment of other internal system buffers I'm only dimly aware of. Some of it sits in physical memory, some of spends most of its time paged to disk.

As for why the total commit charge seems so high, the guys at Microsoft figure if you have heaps of available memory, Windows might as well use it to cache a lot of stuff to improve performance. As memory usage increases, more stuff like this gets unloaded to make room. You can tweak Windows to favour low memory usage vs high performance, or the performance of Windows vs the performance of applications. For general use however, the OS knows best.

This topic is closed to new replies.

Advertisement