• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

WinXP and memory usage

Special K

Diamond Member
I am debating whether or not to add more RAM to my computer. Here is what I cannot figure out: Right now I have 1 gig of RAM. I work with a lot of engineering apps that are memory hogs, plus I usually have several IE windows open, Outlook, Word, and usually a few other apps, in addition to the stuff that runs in the system tray (antivirus, etc.). Now when I have all of these programs running, Windows usually reports about 200-300 MB of RAM free. Yet what I do not understand is that whenever I minimize one of the applications, it doesn't seem to take long before windows moves it all onto the pagefile. I know it does this because when I switch back to it only a few minutes later, there is a huge pause while it loads the program back into RAM. My question is: why does windows do this when it says I still have 300 MB free? Will windows always leave some RAM available? Does this mean that I would benefit from a RAM upgrade, even though task mananger never reports my computer as having 0 MB of free RAM?

I hope that all made sense.
 
Not all of that I/O is from the pagefile. The executable itself and any shared libraries will simply be evicted from memory and loaded back in from the files on disk. The only stuff put in the pagefile is modified memory that doesn't have any backingstore on disk, the documents open in the app might fall into this category depending on how the app works. But the main cause is that by default Windows shrinks the working set of a process when it's minimized, I guess they figure that if you're minimizing it you won't be using it for a while.
 
Originally posted by: Nothinman
Not all of that I/O is from the pagefile. The executable itself and any shared libraries will simply be evicted from memory and loaded back in from the files on disk. The only stuff put in the pagefile is modified memory that doesn't have any backingstore on disk, the documents open in the app might fall into this category depending on how the app works. But the main cause is that by default Windows shrinks the working set of a process when it's minimized, I guess they figure that if you're minimizing it you won't be using it for a while.

wonder if alt+Tab would stop this? or, does it treat background the same as minimized?
 
So adding another 1 GB of RAM would not solve the slowdown I am describing? How would anyone be able to tell for sure if more RAM would help, short of just buying it and trying it out? Will windows ever let the amount of free RAM drop to 0?

If I have RAM available, why would windows not make use of it, in regards to minimized applications getting transferred to disk and reloaded, even though there is plenty of RAM available?
 
So adding another 1 GB of RAM would not solve the slowdown I am describing?

Doubtful, because it's intentional.

How would anyone be able to tell for sure if more RAM would help, short of just buying it and trying it out? Will windows ever let the amount of free RAM drop to 0?

No, it can't because then it wouldn't have any free memory for new processes, etc.

If I have RAM available, why would windows not make use of it, in regards to minimized applications getting transferred to disk and reloaded, even though there is plenty of RAM available?

It does use it, it uses it for disk cache. Since I'm not a NT kernel dev I'm speculating, but my guess is that they figure since you're minimizing the app you don't need it for a while so the memory would be better served being allocated to other processes or the disk cache.
 
I use a minimum of 2GB for video editing and it works fine, My Graphic machine uses 1GB. When I was using AutoCad, 2GB was a absolute must. If your doing complex work with a lot of open windows, you should see a visible improvement with more RAM. I been using Samsung RAM for myself and students @ $67 per 1GB sticks eBay
. Always buy in pairs to guarantee compatibility.
 
Originally posted by: Nothinman
It does use it, it uses it for disk cache. Since I'm not a NT kernel dev I'm speculating, but my guess is that they figure since you're minimizing the app you don't need it for a while so the memory would be better served being allocated to other processes or the disk cache.
IMHO, it's a highly-flawed heuristic. This is one key area where I much prefer W2K's behavior - working-set trimming based on actual application execution, rather than UI manipulations. I can minimize an app (working in the background) on W2K, and leave the PC for 12hrs, and come back and restore the window, and the working-set is all set to go, much less of a pause than with XP.

 
IMHO, it's a highly-flawed heuristic. This is one key area where I much prefer W2K's behavior - working-set trimming based on actual application execution, rather than UI manipulations. I can minimize an app (working in the background) on W2K, and leave the PC for 12hrs, and come back and restore the window, and the working-set is all set to go, much less of a pause than with XP.

AFAIK Win2K does the same thing, it's just less agressive about the disk cache.
 
Originally posted by: VirtualLarry
Originally posted by: Nothinman
It does use it, it uses it for disk cache. Since I'm not a NT kernel dev I'm speculating, but my guess is that they figure since you're minimizing the app you don't need it for a while so the memory would be better served being allocated to other processes or the disk cache.
IMHO, it's a highly-flawed heuristic. This is one key area where I much prefer W2K's behavior - working-set trimming based on actual application execution, rather than UI manipulations. I can minimize an app (working in the background) on W2K, and leave the PC for 12hrs, and come back and restore the window, and the working-set is all set to go, much less of a pause than with XP.

Don't confuse the shrinking of the working set with immediate moving data to the pagefile.

Windows, I believe, simply marks all the pages as 'ready to be moved into the pagefile' (or reused, if the page is unmodified and backed by physical storage) when the working set is trimmed. If Windows has a better use for those memory pages, they'll be swapped out and other running apps will get the pages that are freed.

If you really want to know how this works, get a copy of "Inside Windows 2000" by Russinovich. His chapter on memory management is excellent.
 
Back
Top