Navigation
Advertisement
Thursday
May242012

The Mythical 4GB Memory Barrier

With memory on the cheap these days, I finally upgraded the RAM on my desktop computer beyond the 4 GB mark yesterday.  I've been having some problems and thought that more RAM would help my overall performance as I run multiple memory-hogging applications at once.

Fortunately, I had the foresight to install 64-bit Windows 7 on this system, so it started up and acknowledged the additional RAM with no problems and no further intervention necessary. But the dual-boot Linux installation (Ubuntu 12.04 nicknamed "Precise Pangolin") is a 32-bit system, so I was preparing myself to start from scratch to install the 64-bit version of the OS.  So imagine my surprise when I booted the 32-bit OS to recover some files and realized that it was recognizing the entire block of memory, even beyond the 4 GB mark!

How was this possible? I consulted my friend who told me that he was aware of the fact that some 32-bit OSes can use more than 4 GB of RAM, but he didn't know the technical deails of how it worked. But a few searches led me to some enlightening (if sometimes contradictory) information.

A 32-bit Centrino Duo system with less than 3.0 of its 4.0 GB availableFirst ZDNet's Adrian Kingsley-Hughes wrote ZDNet: Clearing up the 32/64-bit memory limit confusion which explains why you can have a 32-bit OS on a system with 4 GB of RAM and not be able to use all of it. I've had this happen on a couple of older systems that I upgraded and was a bit frustrated with the results. Now I'm still frustrated, but at least I understand what's going on. This same problem is outlined in a bit more technical detail in Coding Horror: Dude, Where's My 4 Gigabytes of RAM?  (I have to admit, I thought we had left this memory-mapped device problem back in the DOS / Windows 3.1 days. I guess we just put it off into the distant future from the early '90s, which means we're running into it again about now.)

Next I stumbled across a hack (HOWORKS: How To: Remove Windows 7 32bit 4GB Memory Limit) that claims it can open up 32-bit Windows 7 to get around the 4 GB memory limit and the aforementioned problems it creates. It really is a kludge and might create other problems as it solves some, but it's interesting to note that it is technically possible. There is also a hack to allow 32-bit applications running on a 64-bit OS to use up to 4 GB of memory each at Make Tech Easier: How to Increase the Memory Limit for 32-bit Applications in Windows 64-bit OS. (Please note that I have not tried either of these hacks and have no idea how well they work, so do not take this as a recommendation for these methods. I simply mention what I have found for the sake of discussion.)

Finally, I came across a set of benchmarks at Phoronix: Ubuntu 11.04: i686 vs. i686 PAE vs. x86_64 that compare regular 32-bit Ubuntu 11.04 ("Natty Narwhal") to 32-bit Ubuntu with PAE extensions and to 64-bit Ubuntu. The PAE extensions allow a 32-bit system to address up to 64 GB of memory. The caveat is that the software on a PAE system (drivers in particular) need to be rewritten to support those extensions or they can cause problems (i.e. system crashes).

Interestingly, this is one of those areas where the open source community has been way out ahead of their proprietary software counterparts. Lots of open source software (including drivers) is easily modified or simply recompiled to support PAE or 64-bit architectures, so the hard parts have already been done years ago by the pioneers in the open source community. Interestingly, this means that older hardware tends to be supported much longer on Linux than on Windows, and it is also the reason why my 32-bit Linux OS already recognizes all the memory in the system beyond the 4 GB mark. (PAE extensions are on by default in Ubuntu 12.04.)

Several of these articles are four or five years old, but they were written by power users who served as the canaries in the coal mine for those of us who are just beginning to consider these issues. Granted, the Phoronix benchmarks show a number of processes that would be helped by moving to full 64-bit (and some that are strangely hurt by it) so that's probably the best long-term solution. But it's good to know that there's a bridge between the 32-bit and 64-bit worlds that I can use while upgrading to full 64-bit Linux at my leisure.

Check out the CPUID web site for utilities that can tell you lots more about your CPU and other hardware.

 

Saturday
May212011

My Favorite Things Section Added

I just added a new section which I have been considering for a while to the ThreeSpace site--Faves. This will be an area where I write about my favorite things, the things that I like and recommend highly to others. There will be a mishmash of different items including games, gadgets, and services, but they will all be things that I use and enjoy.  These entries represent things that get my stamp of approval.

My first entry in the Faves section is about the OnLive cloud gaming service. Check it out, recommend it to your friends, and then add me to your friends list in OnLive!

Friday
Oct162009

The Return of ThreeSpace

I finally decided to get off my behind and restart the ThreeSpace web site again.  My old host had cut off the web site for failure to pay after my credit card expired, but I was still able to use my email accounts on their servers, so I kept on using it gratis while taking my time to look for a new host.  Hopefully this one will work out better than the last, which seemed to suffer outages several times a week.

The content of the site will mostly be news about technology, gadgets, and videogames (and other miscellaneous things that interest me) along with some commentary.  Hopefully it will be entertaining enough to keep you coming back.  I'd like to even see a community build up, but first things first--I gotta let the DNS records propagate so that we the rest of you can even get to the site.