On Mon, 6 Oct 2008, Eric F Crist wrote: > Don't have one to test, but I don't know why there would be any > problems. Pull out the current version of Ubuntu and try it out. > > Note that, unless you're running 64-bit, you won't see your 4 GBs of > RAM. Something around 3.2GB or something. See the information below about the "32 bit memory hole fix" BIOS option. I also recommend Ubuntu. It is good, easy, and so many people use it that it should be easier to get help with it than with many of the others. Mike Date: Wed, 01 Oct 2008 21:47:39 -0500 From: Jack Smith To: MLUG Members <members at mlug.missouri.edu> Subject: Re: [MLUG] 64-bit Linux distros On Wed, 2008-10-01 at 15:54 -0500, Rick Buford wrote: > If you have a PCI-E slot on this board, it was my understanding that the > "missing" 3/4Gb is taken up by the PCI-E bus...not an OS issue, but a > PCI-E one. At least that was Dell's explanation. > > We ran into this at work a year or so ago when we got our workstations > with PCI-E slots. > > Rick > > On Wed, 2008-10-01 at 14:36 -0500, Robert Citek wrote: > >> Not likely an issue in Mike's case, but in other cases, watch out for >> the hardware manufacturers that cripple the MoBo. Case in point, I've >> got a Lenovo ThinkCenter with dual 3 GHz Intel P4 CPUs, both 64-bit >> capable. Unfortunately, despite maxing out at 4 GB of RAM, the OS can >> only use 3 GB. The MoBo reserves (disables?) the other 1 GB. You guys have part of the answer. A 32-bit OS normally has a 4 GB address space, which you guys said. That address space contains the addresses for both data in RAM as well as the addressing space for *any* I/O devices in the computer, such as the PCIe slots in your Dell. This I/O addressing space is mapped to the very top of the entire space, say from 3.3 GB to 4.0 GB. You can only have one physical location mapped to each address location, so when you have 4 GB RAM, the OS only sees the locations below ~3.3 GB as address spaces in RAM and everything above it as I/O address space. That is why you "lose RAM" while running a 32-bit OS with 4 GB RAM but you see all of your RAM if you have 3 GB or less as the I/O address space is located "higher" than your RAM. The space is still used; you just do not see it as it does not overlap your RAM. Your older computers have this same issue but you just never put enough RAM in them to see it. Note that if you ran more than 4 GB RAM on a standard 32-bit OS, you still only see the ~3.3 GB amount as the OS cannot see anything beyond 4.00 GB- it just ignores the extra RAM. It's just like running 1 MB RAM on an 8086- the processor could only see 1 MB address space but everything from 640 K on up was address space. A 64-bit OS has a much larger address space and thus you can address all 4 GB of RAM and then some and not overlap your I/O address space. The I/O address space is still there, it's just typically located at 32 PB (52 bits) on x86_64 systems and it doesn't even come close to overlapping the RAM. Note that this I/O address space starting and ending location (but not the size) is sometimes adjustable. Some motherboards by default have the BIOS map the I/O address range from ~3.3 to 4.0 GB. This will result in you "missing" about 700 MB of RAM if you have 4 or more GB installed and are running a 64-bit OS. The fix for this is to tell the BIOS to either not map the I/O address space itself and let the OS handle it or to force the BIOS to map it to the top of the x86_64 address space by enabling the so-called "32 bit memory hole fix" BIOS option. This paper (http://techfiles.de/dmelanchthon/files/memory_hole.pdf ) has a further explanation of the issue. --Jack