Yesterday, I replaced two 256MB DIMMs in a server of mine (dating from 2006 or 2007, I think) by two new 1GB DIMMS. I also upgraded the Linux kernel from 2.6.30 to 2.6.35. Now, top and free report I have about 900MB memory total. What happened to the other 1.1GB?
They can not be addressed by the motherboard?
Seriously. If your have a server with 256mb dimms, then it is old. It is NOT from 2006 or 2007 - or someone bought it on ebay. It is IMHO a lot older.
And it possibly can not deal with 1gb dimms. THat simple. Quite likely the max memroy it can handle per slot is 512mb. And most likely it maps some physical stuff into its max memory, causing you to loose another 100mb.
If you put up the motherboard specs (brand, type etc.) someone here can look it up.
About the linux kernel you are running, is that custom compiled? If I remember right, there is an option in the linux kernel related to how much memory the kernel can access (1GB, 4GB or 64GB with PAE). On 32-bit kernels I suppose that nowadays distros put it as default on 4GB. If your kernel was custom compiled, there might be a chance that it was set on 1GB.
However, the first thing you should do, is check the server during boot up and check how much memory the bios recognizes. I would be very surprised that a server from 2006-2007 cannot handle 1GB memory modules.
Check the BIOS, and see how much memory is reported in there. Doesn't sound like an OS issue.