Alright! Enough fun. Now, I don't want to be a dick but I don't actually care how much RAM any of you have. The truth is that this is another lesson-post in trap form!
EDIT -
tmp, may I ask why we need more than 900MB of RAM?
Good question, Joe! I had a sneaking suspicion that many of you guys probably have some fancy machines (with plenty o' RAM), but you probably didn't know that Linux, out of the box anyways, doesn't support more than 960MB of RAM ;P Don't believe me ? Check out Newby's situation ;P
newby@impaler:~$ free -m
total used free shared buffers cached
Mem: 883 850 32 0 265 103
-/+ buffers/cache: 481 401
Swap: 933 65 868
It's 1024MB RAM, but...
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000003ff30000 (usable)
BIOS-e820: 000000003ff30000 - 000000003ff40000 (ACPI data)
BIOS-e820: 000000003ff40000 - 000000003fff0000 (ACPI NVS)
BIOS-e820: 000000003fff0000 - 0000000040000000 (reserved)
BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved)
Warning only 896MB will be used.
If you ran
free on a shell server (cheated) then you probably got the expected amount because the admin hopefully knows what he's doing.
Anyhow, on with the issue at hand.
Good news: I'm about to tell you how to fix the problem
Bad news: You'll have to recompile your kernel.
The linux kernel actually supports up to 64GB of RAM. However, in order to use anything past 960MB you need to configure the
CONFIG_NOHIGHMEM define appropriately then rebuild your kernel. You want something like so:
up to 960MB: off
up to 4GB: 4GB
up to 64GB: 64GB
If you select 64GB your processor must be capable of PAE mode. That includes all processors since the Pentium Pro, so you're probably OK. The kernel will refuse to boot if you don't have it which is why this configuration isn't enabled by default.
Also, if you've got an older BIOS it might have trouble reporting the amount of RAM to the bootloader accurately. If you've taken the above step and it still doesn't work properly add this to your
/etc/lilo.conf:
append="mem=2048M"
Where I have 2 Gigs of RAM. All should be well.