Personal computing discussed

Moderators: renee, mac_h8r1, Nemesis

 
Shining Arcanine
Gerbil Jedi
Topic Author
Posts: 1718
Joined: Wed Jun 11, 2003 11:30 am

4GB of RAM?

Fri Mar 30, 2007 9:10 pm

I have 2GB of 667MHz Corsair Value Select memory (VS2GBKIT667D2) that I brought a year ago in my PC right now. With memory prices going down, I am thinking of buying another 2GB kit to upgrade to 4GB of memory. This would mean using both banks of my PC's motherboard and subsequently switching over to 2T from 1T and possibly loosening the timings from 3-3-4-9.

The most memory intensive things I do on my PC are playing Project Reality (a reality modification for Battlefield 2), folding with two instances of Folding@Home for Tech Report, run Apache, PHP and MySQL locally to maintain a development environment for my website (I use Macromedia Dreamweaver for coding and FTP), run Firefox (for days with many tabs) and run my PC 24x7 because it is a Media Center PC. My PC's memory consumption is at 985MB right now thanks to memory leaks, it would be about 400MB if I rebooted, and it was over 1600MB when I was playing Project Reality earlier (I have had lag problems recently, closing background applications seemed to resolve the issue, despite not using the full 2GB of RAM that I have).

Here are my PC's specifications:

1.83GHz Core 2 Duo E6300 Processor
P5WDH Deluxe Motherboard
2GB of RAM
eVGA GeForce 7600 GT w/VM-102 cooler
Western Digital 320GB Hard Drive
Creative X-Fi XtremeMusic

I am planning to try to skip Windows Vista and upgrade to Windows Blackcomb in 2009. Also, I am thinking of upgrading to an eVGA GeForce 8 passively cooled mainstream card if one comes out (the mounting mechanism of the VM-102 is so hard to use properly that using an OEM passive cooler would improve my framerates by eliminating thermal throttling).

Does anyone think that the extra 2GB of RAM will be worth the looser timings and the cost? If I buy it, I will be buying it in May when the prices are projected to hit bottom; I am hoping that the price of the RAM drops from the $113 that it is now at ZipZoomFly.com to less than $90 when I buy it if I buy it.

By the way, it is spring break next week, so I am going to be away for a while. If anyone replies after I leave, I will respond to you after I return. Thankyou for all of your advice in advance.
 
UberGerbil
Grand Admiral Gerbil
Posts: 10368
Joined: Thu Jun 19, 2003 3:11 pm

Re: 4GB of RAM?

Fri Mar 30, 2007 9:39 pm

Shining Arcanine wrote:
run Firefox (for days with many tabs) and run my PC 24x7 because it is a Media Center PC. My PC's memory consumption is at 985MB right now thanks to memory leaks, it would be about 400MB if I rebooted
Just killing firefox and restarting it would probably give you close to the same result as rebooting: FF consistently eats memory (I've left it running and come back to find it using almost all of its 2GB VA space). Dreamweaver can be a little buggy but again quitting it and restarting is usually sufficient.

Loose timings won't make much difference (especially if more memory means you're doing less swapping or loading in games). But if you're runing 32bit XP, note that you will only see ~3.2GB of that 4GB thanks to overlap with the PCI address range. How much of your pagefile is in use when you've got your machine fully loaded? Memory you're not using gets used by Windows as system cache, but it's not going to make a very noticable difference if you're not dipping into the page file.
 
Flying Fox
Gerbil God
Posts: 25690
Joined: Mon May 24, 2004 2:19 am
Contact:

Fri Mar 30, 2007 11:48 pm

Also the 2T vs 1T issue affect AMD systems more, it already makes a tiny difference in games (do I have to post that link yet again?), it won't make too much of a difference at all on Intel systems.

Seconded UberGerbil's comments, if you are out of RAM, then no amount of timing will save from going to disk which is orders of magnitude slower.
The Model M is not for the faint of heart. You either like them or hate them.

Gerbils unite! Fold for UnitedGerbilNation, team 2630.
 
Shining Arcanine
Gerbil Jedi
Topic Author
Posts: 1718
Joined: Wed Jun 11, 2003 11:30 am

Re: 4GB of RAM?

Sat Mar 31, 2007 4:36 am

UberGerbil wrote:
Shining Arcanine wrote:
run Firefox (for days with many tabs) and run my PC 24x7 because it is a Media Center PC. My PC's memory consumption is at 985MB right now thanks to memory leaks, it would be about 400MB if I rebooted
Just killing firefox and restarting it would probably give you close to the same result as rebooting: FF consistently eats memory (I've left it running and come back to find it using almost all of its 2GB VA space). Dreamweaver can be a little buggy but again quitting it and restarting is usually sufficient.

Loose timings won't make much difference (especially if more memory means you're doing less swapping or loading in games). But if you're runing 32bit XP, note that you will only see ~3.2GB of that 4GB thanks to overlap with the PCI address range. How much of your pagefile is in use when you've got your machine fully loaded? Memory you're not using gets used by Windows as system cache, but it's not going to make a very noticable difference if you're not dipping into the page file.


Killing firefox does not seem to release all of the memory.

Flying Fox wrote:
Also the 2T vs 1T issue affect AMD systems more, it already makes a tiny difference in games (do I have to post that link yet again?), it won't make too much of a difference at all on Intel systems.

Seconded UberGerbil's comments, if you are out of RAM, then no amount of timing will save from going to disk which is orders of magnitude slower.


Well, my PC has exhibited symptoms of being out of RAM when playing Battlefield 2, so I guess the extra memory will be worth it.

I probably will reconsider switching to Vista, as it can take better advantage of 4GB of memory.
 
Shintai
Minister of Gerbil Affairs
Posts: 2369
Joined: Sat May 14, 2005 4:43 am
Location: Denmark

Sat Mar 31, 2007 4:41 am

Nag over T1->T2 for some 1%, but 2GB memory today means alot of HD access. So if you wanna argue T1 over T2. Then argue about how the HD is faster than memory...or is it.

In other words, just get the more memory and ignore it. Also C2Ds are the most timing ignorant CPUs sofar. There aint much difference in 3-3-3-T1 vs 5-5-5-T2.
C2D E6600@3Ghz(1.24V) | Asus P5B Deluxe | 4x1GB Kingston Valueram CL5 DDR2-667(1.95V)
Sapphire x1900GT 256MB | Eizo S2110W | 2xSeagate 320GB 7200.10 | Antec Neo He 550W EC
 
just brew it!
Administrator
Posts: 54500
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Re: 4GB of RAM?

Sat Mar 31, 2007 3:13 pm

Shining Arcanine wrote:
Killing firefox does not seem to release all of the memory.

What numbers are you looking at that are making you conclude that the memory isn't all being released?

All memory allocated directly to the Firefox process will be released when the process is killed. Any other memory that still doesn't show up as "free" is likely being used as system cache, which will be reclaimed automatically as needed. IOW, anything which is shown under System Cache doesn't really count towards allocated memory.
Nostalgia isn't what it used to be.
 
Madman
Minister of Gerbil Affairs
Posts: 2317
Joined: Tue Apr 01, 2003 4:55 am
Location: Latvia

Sun Apr 01, 2007 11:06 am

Before you rush out, research tools like Task manager and System Performance monitor.

There is a Peak value in Commit Charge box in task manager that shows MAX allocated memory at one time since system startup. If it's not bigger than Physical memory->Total, there is no (much) use of extra ram.

And system performance monitor under administrative tools is actually one single tool that can allow you to tune your PC to insanity, if you learn how to use it first.
Core 2 Duo E6300, MSI P45 NEO-F, Club 3D GTX 260, 4Gb DDR2-800Mhz, Audigy X-Fi Fatal1ty Champ1on ed., 0.5Tb+1Tb Seagate Barracuda 7200.12, 630W AXP, Samsung SyncMaster BX2450, ViewSonic VP171b
 
Shining Arcanine
Gerbil Jedi
Topic Author
Posts: 1718
Joined: Wed Jun 11, 2003 11:30 am

Re: 4GB of RAM?

Sat Apr 07, 2007 6:25 pm

just brew it! wrote:
Shining Arcanine wrote:
Killing firefox does not seem to release all of the memory.

What numbers are you looking at that are making you conclude that the memory isn't all being released?

All memory allocated directly to the Firefox process will be released when the process is killed. Any other memory that still doesn't show up as "free" is likely being used as system cache, which will be reclaimed automatically as needed. IOW, anything which is shown under System Cache doesn't really count towards allocated memory.


My system uses about 400MB of RAM after booting. After several weeks of usage without reboot, my computer can be using 800MB of RAM with all applications that did not boot with the system closed.

Madman wrote:
Before you rush out, research tools like Task manager and System Performance monitor.

There is a Peak value in Commit Charge box in task manager that shows MAX allocated memory at one time since system startup. If it's not bigger than Physical memory->Total, there is no (much) use of extra ram.

And system performance monitor under administrative tools is actually one single tool that can allow you to tune your PC to insanity, if you learn how to use it first.


Well, my PC froze while I was away on my vacation, so I cannot get an exact value for peak memory usage, but if I recall correctly, the peak value is 1800MB.
 
just brew it!
Administrator
Posts: 54500
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Re: 4GB of RAM?

Sat Apr 07, 2007 10:41 pm

Shining Arcanine wrote:
My system uses about 400MB of RAM after booting. After several weeks of usage without reboot, my computer can be using 800MB of RAM with all applications that did not boot with the system closed.

Something ain't right... it shouldn't be doing that. Can you tell which processes are holding on to the RAM?
Nostalgia isn't what it used to be.
 
Shining Arcanine
Gerbil Jedi
Topic Author
Posts: 1718
Joined: Wed Jun 11, 2003 11:30 am

Re: 4GB of RAM?

Sun Apr 08, 2007 8:17 am

just brew it! wrote:
Shining Arcanine wrote:
My system uses about 400MB of RAM after booting. After several weeks of usage without reboot, my computer can be using 800MB of RAM with all applications that did not boot with the system closed.

Something ain't right... it shouldn't be doing that. Can you tell which processes are holding on to the RAM?


I am running two instances of Folding@Home, an instance of Apache, an instance of MySQL and the media center stuff at boot. If I did not have those set to start, my PC's memory consumption at boot should decrease by 200MB.
 
just brew it!
Administrator
Posts: 54500
Joined: Tue Aug 20, 2002 10:51 pm
Location: Somewhere, having a beer

Re: 4GB of RAM?

Sun Apr 08, 2007 9:12 am

Shining Arcanine wrote:
just brew it! wrote:
Something ain't right... it shouldn't be doing that. Can you tell which processes are holding on to the RAM?

I am running two instances of Folding@Home, an instance of Apache, an instance of MySQL and the media center stuff at boot. If I did not have those set to start, my PC's memory consumption at boot should decrease by 200MB.

No, I mean can you tell which processes are holding the additional RAM after the system has been running for a while?
Nostalgia isn't what it used to be.
 
Shining Arcanine
Gerbil Jedi
Topic Author
Posts: 1718
Joined: Wed Jun 11, 2003 11:30 am

Re: 4GB of RAM?

Sun Apr 08, 2007 10:14 am

just brew it! wrote:
Shining Arcanine wrote:
just brew it! wrote:
Something ain't right... it shouldn't be doing that. Can you tell which processes are holding on to the RAM?

I am running two instances of Folding@Home, an instance of Apache, an instance of MySQL and the media center stuff at boot. If I did not have those set to start, my PC's memory consumption at boot should decrease by 200MB.

No, I mean can you tell which processes are holding the additional RAM after the system has been running for a while?


It is most likely shared libraries that are no longer in use, which therefore would not be considered part of any application's memory usage. This is consistent with what I see in Task Manager, as there are no processes taking up the extra memory after I close Firefox, which does not release all of the memory Task Manager says that it uses, which is as I said, consistent with shared libraries not being unloaded.
 
Flying Fox
Gerbil God
Posts: 25690
Joined: Mon May 24, 2004 2:19 am
Contact:

Sun Apr 08, 2007 11:48 am

While I think Firefox is using an overly aggressive memory-hogging caching scheme, you seem to want to blame it for your memory "issue". I am not sure if it is really an issue. Did you confirm if the System Cache has not increased as you notice the "memory drop"? The OS manages the System Cache and will put more RAM for it if it thinks it can use the RAM, so your "physically available" RAM may not increase after apps are closed.

I never heard that "shared libraries" memory usage are not reported and is "hidden". Linkage?
The Model M is not for the faint of heart. You either like them or hate them.

Gerbils unite! Fold for UnitedGerbilNation, team 2630.
 
Shining Arcanine
Gerbil Jedi
Topic Author
Posts: 1718
Joined: Wed Jun 11, 2003 11:30 am

Sun Apr 08, 2007 4:23 pm

Flying Fox wrote:
While I think Firefox is using an overly aggressive memory-hogging caching scheme, you seem to want to blame it for your memory "issue". I am not sure if it is really an issue.


I once opened Task Manager to find Firefox using over 400MB of RAM. I do not blame it for all my memory issues, but its memory consumption is an issue.

Flying Fox wrote:
Did you confirm if the System Cache has not increased as you notice the "memory drop"? The OS manages the System Cache and will put more RAM for it if it thinks it can use the RAM, so your "physically available" RAM may not increase after apps are closed.


I never checked.

Flying Fox wrote:
I never heard that "shared libraries" memory usage are not reported and is "hidden". Linkage?


I did not say that the memory usage of shared libraries is hidden; I said that shared libraries that are not in use by any applications that are running are not counted as part of any application's memory usage. If a single library uses 5MB of RAM and is being used by three applications, each of those applications will have 5MB of RAM tacted onto their memory usage to reflect their use of that library. If those applications are closed and the library is not closed, then the library's memory usage is not shown as part of any application, as no application is using it. I never read about that second part; it followed logically from what I have read, namely at Channel9, where I read that due to how shared libraries work, the .NET framework's memory footprint is shown as a part of each application that uses it, which is why people consider it to be bloated. Unfortunately, I do not have the url to the thread at Channel9 where I read that, although I still consider it to be bloated.
 
UberGerbil
Grand Admiral Gerbil
Posts: 10368
Joined: Thu Jun 19, 2003 3:11 pm

Mon Apr 09, 2007 1:57 am

Shining Arcanine wrote:
I once opened Task Manager to find Firefox using over 400MB of RAM. I do not blame it for all my memory issues, but its memory consumption is an issue.
Firefox definitely has issues with regard to eating memory -- I commonly find it sitting on 500MB+ committed. But you get it back when you kill it, so if you're finding memory permanently "missing" then something else is using it. It may be a startup app, a service, or a device driver. Your best bet is to run ProcessExplorer, sort by ProcessName, and look at the WorkingSet column. When you sort by ProcessName you get a sort of tree display that allows you to drill down into the Sytem process and Svchost instances to see what's getting loaded.
Flying Fox wrote:
Did you confirm if the System Cache has not increased as you notice the "memory drop"? The OS manages the System Cache and will put more RAM for it if it thinks it can use the RAM, so your "physically available" RAM may not increase after apps are closed.
Well, System Cache is used for recently-accessed files, so it does grow as apps use data files. But the number reported for System Cache in TaskMan (but not in perfmon) also includes the Standby Page list, which is all the not-recently-used pages that get liberated when an app has its workingset trimmed. The workingset can get trimmed for a variety of reasons: the app requests it, the system is low on memory, etc, but most commonly it is because the app was minimized. The default WndProc implementation that most apps use automatically requests a trim of its workingset whenever the user minimizes the app. This is considered good behavior (Firefox, notably, goes out of its way to avoid this, in yet another example of it acting as a bad citizen). Those trimmed pages get placed in the Standy List, so they're available when all the other pages (in the Free and Zero lists) are exhausted, but unless they actually do get used by something else they're still available if the app needs them again (if, for example, the user immediately unminimizes the app). You can see this behavior in Taskman: minimize some large app (not Firefox) and watch the values for both Available memory and the System Cache grow.
I did not say that the memory usage of shared libraries is hidden; I said that shared libraries that are not in use by any applications that are running are not counted as part of any application's memory usage. If a single library uses 5MB of RAM and is being used by three applications, each of those applications will have 5MB of RAM tacted onto their memory usage to reflect their use of that library. If those applications are closed and the library is not closed, then the library's memory usage is not shown as part of any application, as no application is using it. I never read about that second part; it followed logically from what I have read, namely at Channel9, where I read that due to how shared libraries work, the .NET framework's memory footprint is shown as a part of each application that uses it, which is why people consider it to be bloated. Unfortunately, I do not have the url to the thread at Channel9 where I read that, although I still consider it to be bloated.
Uh, this isn't really right. Libraries (that is, DLLs) can't "not be in use by any application." DLLs can't run by themselves; they have to be loaded into a process context so they can have a stack, heap, etc. This is why svchost.exe exists, to load and run services that are implemented as DLLs. Shared libraries might be in use by the OS itself rather than any application, but if they're in memory they are in use by something. If code in a library allocates memory on behalf of an app (for example you're running a .NET app and it uses something out of System.Collection) then that memory gets allocated out of the app's virtual address space and is accounted for in the app's working set of memory. Shared DLLs use the heap and the stack of whichever app happens to be calling them (Windows itself is just a bunch of DLLs and -- outside of the kernel -- works in exactly the same way). As each app quits, those memory pages get freed and returned to the available list. If the last app using a DLL quits, then the DLL itself (its code pages) gets freed, because it no longer has a process to "live in." It is possible for a DLL to allocate memory outside of any particular application through the use of mapped files; this is the accepted way to share memory between processes. However, that memory is freed when the DLL itself is unloaded, and as I said that happens when the last app that is using the DLL quits.

What can be a little confusing is that memory gets used for different things, and are accounted for in different ways, and to compound the confusion the same things can have different names in TaskMan, Perfmon, and ProcessExplorer (and, as we saw with System Cache above, the things with the same name can actually refer to different things, too). You have to distinguish between physical and virtual memory, of course, but also between code pages and data pages, and virtual memory that is backed by the page file and memory that isn't. When you load a set of large DLLs like the .NET libraries, you're pulling in a lot of code pages (though only the pages that are used, which in a well-designed DLL won't be close to the size of the DLL on disk). Those code pages are mapped into the address space of each app that loads the DLL, so they contribute to its reported workingset, but they aren't backed in the page file (they're read-only, so they can just be discarded and reloaded from the on-disk image if necessary). So in that sense the library "bloats" the application, but you're getting a lot of functionality in the process (I only consider it bloat if I can get the same functionality while using significantly less memory; considering the .NET libraries include a JIT native code compiler, a garbage collected memory manager, and a lot of other functionality, it may be more than I need in some cases but given the productivity it gives me I would have a hard time calling it bloat). In some cases, the DLL code pages only exist in memory once, even when they're in use by multiple applications. This, however, led to what was known as "DLL Hell" (where applications that expected to use a newer version of a DLL instead found themselves using an older version that was brought into memory by another, already-running application). So, since Win2K, many DLLs are loaded "side-by-side": each app that uses them gets its own copy. This means each app uses more memory, because the same DLL image may be in memory multiple times, but reliability is increased and you no longer have to worry about DLL Hell: it's a trade-off. (Again, in this regard it's worth noting that Windows itself is essentially just a collection of DLLs, and there's only ever one copy of each of them). Of course, you could just use statically-linked libraries, in which case the libraries always bloat your code (and in many other OSes that's your only option)

Now, of course, there's more to it than that, and I don't want to get into a complete exposition on memory management in Windows. So to get back to the original question: it's not unusual for an actively-used system to have its available memory decrease somewhat over time, because of caching, code and data pages getting pulled in as code paths are executed, etc. If that's all you're seeing, it's nothing to worry about. On the other hand, if you're seeing a slow but essentially continuous drop in available memory, then something may be leaking -- likely a long-lived executable such as a service, driver, etc -- and digging around with ProcessExplorer may help you track it down.
 
Shining Arcanine
Gerbil Jedi
Topic Author
Posts: 1718
Joined: Wed Jun 11, 2003 11:30 am

Sun Apr 22, 2007 8:16 pm

I forgot about this thread. Anyway, I have a new graphics card, a XFX 7950 GT. My peak commit charge currently is 2704196 KB while my current commit charge is 882380 KB. This is having worked on my PC earlier today. I was playing Project Reality for Battlefield 2 today with all of the settings set to high and I clearly had disk swapping, most likely from all of the textures high definition textures that had to be stored in memory. I guess I should get the extra 2GB of RAM after all.
 
blue_bludger
Gerbil First Class
Posts: 145
Joined: Wed Jan 28, 2004 11:05 pm
Location: Walking upside down

Sun Apr 22, 2007 9:55 pm

Your current commit charge doesn't sound too abnormal but the peak sounds high, maybe you should try and determine whether the peak occurred during Project Reality, you want to know for sure before spending money.

Your FF memory usage doesn't sound right to me, I never stop my work PC unless I have to and leave FF running constantly. It must have been running now for several weeks and memory usage is at 85MB with a peak of 104MB. I rarely have less than 5 tabs open with a variety of different things going on - maybe it's to do with the add-ins you have?

Also, thanks to UberGerbil for that informative piece on Windows memory management, there was a bit of history and a few details I wasn't aware of.
 
Flying Fox
Gerbil God
Posts: 25690
Joined: Mon May 24, 2004 2:19 am
Contact:

Sun Apr 22, 2007 10:42 pm

I'm at 225,976K Mem Usage in Task Manager with FireFox that has been up about a week. But I'm using default configuration (aggressive caching) of 1.5.x.x. I think if you are using 2.x the usage has been down.
The Model M is not for the faint of heart. You either like them or hate them.

Gerbils unite! Fold for UnitedGerbilNation, team 2630.
 
blue_bludger
Gerbil First Class
Posts: 145
Joined: Wed Jan 28, 2004 11:05 pm
Location: Walking upside down

Sun Apr 22, 2007 11:23 pm

I'm on 2.0.0.3 - I can't remember the figures for when I was running previous versions.
 
Shining Arcanine
Gerbil Jedi
Topic Author
Posts: 1718
Joined: Wed Jun 11, 2003 11:30 am

Mon Apr 23, 2007 6:24 am

blue_bludger wrote:
Your current commit charge doesn't sound too abnormal but the peak sounds high, maybe you should try and determine whether the peak occurred during Project Reality, you want to know for sure before spending money.

Your FF memory usage doesn't sound right to me, I never stop my work PC unless I have to and leave FF running constantly. It must have been running now for several weeks and memory usage is at 85MB with a peak of 104MB. I rarely have less than 5 tabs open with a variety of different things going on - maybe it's to do with the add-ins you have?

Also, thanks to UberGerbil for that informative piece on Windows memory management, there was a bit of history and a few details I wasn't aware of.


It occurs during Project Reality. I had Task Manager open to check memory usage.

As for Firefox, it is right now using 126,800 K.

Who is online

Users browsing this forum: No registered users and 1 guest
GZIP: On