Why does Ubuntu 10.10 amd64 not addresses more of 3GB ram? Please if somebody knows about that, tell me the solution.
My machine is a Toshiba P205-S6287 Intel centrino duo 64 bits procesor and 4GB ram 667MHz.
This is due to the Mobile Intel 945GM Express in your laptop.
I own a Thinkpad T60, which uses the same chipset. It was one of the first northbridges from intel for the Core2Duo 64-bit CPUs. They failed in designing it.
The chipset can only theoretically address 4GB of RAM, yet also has to address other hardware (I/O memory). It reserves the upper 1GB memory range for that. The 64bit logical memory address support in the Linux kernel doesn't help, because the mainboard and northbridge only provide for a 32bit physical address bus to the CPU. And there is no workaround.
There are several possible reasons. One is that you are, in fact, not running the amd64 build. Another is that your motherboard and/or bios are broken and not reporting the correct amount of ram. Another is that you have video memory and other hardware resources taking up space in the 3-4 gb area of memory, and your motherboard/bios is incapable of hoisting the shadowed ram to higher addresses so that it can be accessed.
Figuring out which requires looking at your dmesg.
psusi is right.
I have the same situation here:
Although they call it "64Bit cpu" you can often not address 4GB+ memory.
Most old motherboard do only have 32Bit for the addresses and from this pool the graphics card needs to get their addresses too.
= 4GB - Graphicscard memory(1GB) = 3 GB.
I fear there is no possibility to fix this by patching or upgrading firmware of anything.
If you are interessted in detail i recommend: http://en.wikipedia.org/wiki/Physical_Address_Extension