4GB of Memory

April 24th, 2008 by patrick

I decided after seeing how slow laptop can crawl, that it was time to upgrade the memory in it.  It’s a Core Duo machine, and has been serving me faithfully for over a year now, but it only has one gig of memory in it.  For my work, there have been times where I’ve had Linux running with eclipse (for coding), with virtualbox running an image of Windows XP and Visual Studio.   Both Windows and Linux alone can use up a gigabyte of memory easily, and they simply crawl with only 512 MB each.  

I got the RAM last week and installed it.  Now I knew that Windows would not natively support all of the memory, four gigabytes worth, but I expected that Linux would.  I have it set up to dual boot, but I use Linux primarily, and with enough memory, I can do everything I need to do with inside VirtualBox.  I was pretty dismayed to find that Ubuntu also didn’t recognize the four gigs of memory.  

Turn to google.  I am running the 32 bit version of Ubuntu, and even though the processor in my machine is fully capable of running 64-bit code, the designers of the original Core Duo chip decided to disable this ability.  Now a 32 bit operating system can address of maximum of 2^32 bytes of memory, with is 4 gigs, but some of that gets reserved for addressing devices on the PCI bus.  

In light of this, and for a long time, Intel (and AMD) have been including the capability to address more by adding 4 bits to the CPU for addressing.  The width is now 2^36, or 64 gigabytes worth.  However, the operating system must be aware of this in order to take advantage of it.  The desktop version of Ubuntu, I come to find out, is not compiled with this ability by default.  No problem, however, I can recompile linux as well as anyone.  

However, after recompiling the kernel (and the grub bootloader, as someone on the ubuntu forums suggested), I still am unable to see all four gigabytes of memory in my computer.  The bios recognizes it, but none of the Ubuntu kernels do (desktop, server, and my custom build).  

I’m actively looking for a way to get my money’s worth out of the memory, and I’ll post it here when I find the solution.  In the meantime, if anyone has successfully gotten it working and would like to share, I’d be much obliged.  

Posted in linux, software, ubuntu

3 Responses

  1. Mike

    Install a 64bit version of Ubuntu?

    Windoze has the /PAE switch you can use to see it on the 32bit versions, Linux have the same?

  2. patrick

    Not sure if it works that way, still researching. Where do you set the PAE switch?

  3. Mike

    In the boot.ini file.

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.