So I installed CentOS 5.6 on a box at my house and it is not recognizing all my memory. I have 2gb in the machine but when you run a 'free -m' or a 'top' or a 'cat /proc/meminfo' it only shows that there are 896796kB on the machine.
My understanding is that either you have two slots for memory modules, one has a 1GB module, and the other is empty; or else you have one of those motherboard types that require matching pairs of module, with four slots, one pair of slots with matching 512MB modules and the other pair of slots empty. Either way, you only have 1GB of memory.
Check how much memory the BIOS reports. Check how much memory Memtest86+ sees. I suspect you'll find that all software reports 1GB.
If you think you have 2GB, then check your memory modules again. If you have modules not accounted for, make sure they're inserted properly; try removing the module(s) in bank 0/1 and moving the modules from bank 2/3 to bank 0/1. Your modules or motherboard may be defective, or they may be incompatible.
An additional point is that 896796kB is 148MB short of 1GB. That total memory is not your total physical RAM, it's the RAM that's available to applications. The remainder is used by