I've been using Ubuntu Linux for a number of versions now. My Dell system has 4GB of memory (as verified by checking the BIOS at boot time) but after one of the upgrades it started to report that it could only see 3GB.
$ free
total used free shared buffers cached
Mem: 3106764 2960304 146460 0 129636 1046552
-/+ buffers/cache: 1784116 1322648
Swap: 0 0 0
This seems to be a fairly
common problem. I and some Ubuntu friends suffered for many months thinking that this just wasn't solvable, waiting patiently for the good Ubuntu folks to magically make it work again in a future version.
Then, one day I installed Ubuntu Feisty on a server at
JohnCompanies, and I noticed that I could see all 4GB of RAM there.
With the knowledge that it
was possible, I was able to figure out at least one way to get all 4GB on my desktop computer. As it turns out, I had installed the "desktop" (generic) version of Ubuntu Feisty on my system which exhibited the 3GB problem, but I had installed the "server" version of Ubuntu Feisty on the system which saw all the RAM.
Here are the simple steps that I took to upgrade my Ubuntu Feisty desktop to the server version of the kernel, gaining access to that last 1GB of RAM, while (so far it appears) losing nothing:
sudo apt-get install linux-server linux-headers-server
[...long wait...]
sudo reboot
I was using the NVIDIA device driver which did not appear to have a module for this kernel, so to get my X server back, I ran the
NVIDIA installer:
wget http://us.download.nvidia.com/XFree86/Linux-x86/100.14.11/NVIDIA-Linux-x86-100.14.11-pkg1.run
sudo sh NVIDIA-Linux-x86-100.14.11-pkg1.run
sudo /etc/init.d/gdm restart; exit
And now I have room to breath on this computer:
$ free
total used free shared buffers cached
Mem: 4082096 2073904 2008192 0 195660 1114364
-/+ buffers/cache: 763880 3318216
Swap: 0 0 0