No. of Recommendations: 0
Are the people who go to 8 or even 16 GB doing something really advanced

In late 2003, I assembled a computer with a mother board that would take 2 Xeon processors, and had memory slots enough for 16 GBytes of RAM in it. I put in 4 BBytes. Years passed, price of RAM went down, and I stuck 4 GBytes more RAM in it before they stopped making that kind of RAM modules. Those Xeon processors could handle, I think, 256 GBytes of RAM, but there were not enough slots for it.

Now in a 32-bit machine, an OS like Windows could not handle more than about 4 GBytes per machine. I happen to run Red Hat Enterpise Linux (RHEL), and that can run up to 256 GBytes on a machine, but no single process gets more than 4 GBytes. Actually, the OS kernel can get all it wants because it has access to the memory management reisters, though it can see only 4 GBytes at any one time.

My present machine happens to be 4-bit, so I run a 64-bit version of RHEL 6.3, but from a user's point of view, that makes little difference.

So what Linux does is gives up to 4G to each process that needs it, and a coupla G to itself (last time I looked, which was not recently), and uses most of the rest for buffering. At the present time, I am not doing much, so my processor and memory usage looks something like this:

top - 14:29:35 up 5 days, 6:35, 2 users, load average: 4.18, 4.33, 4.31
Tasks: 257 total, 5 running, 252 sleeping, 0 stopped, 0 zombie
Cpu0 : 1.5%us, 0.9%sy, 97.6%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.0%us, 0.4%sy, 99.6%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 2.4%us, 1.3%sy, 96.3%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu3 : 0.0%us, 13.7%sy, 86.1%ni, 0.0%id, 0.0%wa, 0.2%hi, 0.0%si, 0.0%st
Mem: 7981712k total, 5352752k used, 2628960k free, 479736k buffers
Swap: 4095992k total, 1568k used, 4094424k free, 2847776k cached

The processors are fully loaded, though running at the nice level most of the time, because I have BOINC running in the background.

It is using about 2 Gigabytes for programs and their date, about 3 GB for buffering (unwritten output) and Caching (recently read input). It keeps a lot of recently read stuff because it might as well. Unused memory is wasted anyway, so they keep stuff around. If I exit Firefox, for example, it probably hangs around in the cache for quite a while, so if I need it again, it does not need to read it in from disk. The kernel can just copy it to where it is needed in a memory-to-memory copy, or if it is really lucky, just point the memory mapping registers to it.
Print the post  


When Life Gives You Lemons
We all have had hardships and made poor decisions. The important thing is how we respond and grow. Read the story of a Fool who started from nothing, and looks to gain everything.
Contact Us
Contact Customer Service and other Fool departments here.
Work for Fools?
Winner of the Washingtonian great places to work, and Glassdoor #1 Company to Work For 2015! Have access to all of TMF's online and email products for FREE, and be paid for your contributions to TMF! Click the link and start your Fool career.