Dude, Where's My 4 Gigabytes of RAM?

“It’s the final solution, at least for the lifetime of everyone reading this blog post today.”

Are you serious? I was a kid when we were still in the world of kilobytes, and now we’re tossing around gigabytes like candy. We could very well be fooling around with petabytes before I’m dead, though we probably wouldn’t be doing it on Vista.

“Suffice it to say that we won’t be running out of physical or virtual address space on 64-bit operating systems for the forseeable future. It’s the final solution, at least for the lifetime of everyone reading this blog post today”.

Wrong statement. I’m not yet in my 30, and I’ve seen how addressing has grown from 640k to 4GB and then became short. That’s a x6250 factor!! 4GB to 8TB it’s only a x2000 factor, and HD video and photorealistic games didn’t come yet.

So if I really want everything I get out of my memory, don’t I want 3x 1GB sticks, AND 1x 512MB stick?

Thanks for an interesting post. I’ll have to look into it some more because I’m faced with this same issue right now.

I have a ASUS A8N32-SLI Delux mobo with 4 gigs or RAM. (4 * 1GB - Dual sided). When I go into the bios, it tells me that there is 4GB installed but only 3.38 Avail for use. Now I’m not sure if this is a bios issue or a mobo issue but if anyone has any clue, I’d love to hear it. (I’m planning an upgrade to my bios sometime this weekend - maybe that might work?).

I also have Vista 64 bit installed with VPC 2007 (The reason for my 4gb is so I can run an XP image with ease).

Most of this went over my head, but I have a brand new intel core 2 with 4gb of ram, only 3070mb showing in windows. Dell support showed me in the bios that 4gb was there.

The issue is, I also had it installed with Office 2007 and what a memory hog it is! Right now I have Outlook 2007 open, along with a browser and I’m running at 55% of memory used.

I wondered if adding more memory was an option…guess not. :frowning:

Good read…thx for the info.

Ron

64-bit processors have been around, but not everyone buys or feels comfortable buying AMD. There are the hardheaded people that use what they grew up with and that’s Intel. However, it seems like EVERY system I see advertised either has a Intel 64bit or AMD 64bit processor in it. To all those people I say “your welcome” as I have been running my AMD FX55 since the thing came out. I tried XP 64-bit when it came out, and not only did I have driver issues, I had software issues getting Flash to run in IE, etc.

Now I am running Vista Business 64-bit edition and I must say there is great 64-bit driver support. If the company has a 32-bit Vista driver chances are they have the 64-bit edition too. Some companies like HP don’t have Vista drivers yet for all their printers, their short term resolution is to use the USB cable instead of the Network connection for things like Fax/Scanning. Other companies like Razer don’t even have Vista drivers yet.

This leads me to my point, how long have these companies known Vista was coming? You can truly see which companies are dedicated to ensuring there products work with any OS and those companies that are just too small to spend the time developing drivers for every OS. Logitech Razer, etc. Suprisingly about the only Vista driver Razer does have is for the Habu mouse they make for Microsoft.

But for those of you thinking about upgrading to 64-bit OS, do it! There is no distinguishable issues that I have run into outside of the lack of general Vista (32bit and 64bit) driver support for some of my devices. I am able to run IE, Firefox, Adobe CS2, Unreal Tournament 2004, Open Office, Office 2007, etc without issue. To me after I disabled all the extra stuff (Defender, Firewall, System Restore), I swear Vista boots faster then my old XP install.

And the Vista GA release doesn’t crash like the RC1 version did either. There is a good availability of virus software out there, personally I use Kasperky. If you bought or are thinking about buying a new system that has a 64bit CPU, you paided for it, might as well use it!

CrashCat had a good point.

“It’s the final solution, at least for the lifetime of everyone reading this blog post today.”

Note that you’re talking about problems addressing 4GB in 2007, and also quote Ian Griffiths mentioning how the 8086 (designed in 1976) had to carve up 1MB. If that growth rate were to continue, we’d be looking at addressing 16TB in another 31 years. Of course we won’t be using Vista then. (We aren’t really using it now but that’s another topic.)

I suspect it will be a lot less than 31 years until we see wide consumer adoption of some kind of terabyte-level optical memory or something else that leaves Moore’s Law in the dust.

Mac Pro handles up to 16GB of RAM and 3TB of disk space.

Kind of academic, since OS X itself is not fully 64-bit.

http://arstechnica.com/reviews/os/macosx-10.4.ars/4

So if I were you I’d qualify your recommendation before you get a horde of angry people beating a path to your door… Make it clear that you need to have a suitable chipset [to use 4 GB+ of physical memory]

Ian, good point, will do.

Exactly where is that magical PAE memory supposed to appear?

It’ll only “appear” in apps that explicitly code to support the AWE (address windowing extensions) API, which makes use of the PAE extensions in the CPU. I don’t think the base OS does this, but applications might.

When I go into the bios, it tells me that there is 4GB installed but only 3.38 Avail for use [and I am running a 64-bit OS]

As Ian pointed out, this is due to the BIOS; check your BIOS for an option that remaps IO memory above 4GB.

18,446,744,073,709,551K of RAM ought to be enough for anybody.

Well, you guys keep worrying about your need for 4GB RAM. Personally, my max RAM is 512MB, and since I run Linux, not WinDoZe, my systems run the latest software just fine with between 256 and 512MB RAM. My older Dell P3/Xeon can have 2GB RAM, but I only have 512MB, and even tho I looked at upgrading, I can’t see the point. My newer Dell Xeon 2.67Ghz only has 256MB RAM, and only because I had to use 2 sticks for the dual channel memory speed. It’s a server without even a GUI, so again, why do I need 4GB RAM? Oh yeah, you guys run that spy-ware, ad-ware, virus infested, buggy, full of holes and backdoors thing called WinDoZe. Well, like SpongeBob said to Plankton: Good luck with that!

I’ll stick with my Linux…

Not really knowing what the 32-bit Windows can or can not do, probably it does not know how to use memory at above 4 GB physical address, and you are stuck to 3 GB plus some. (Which for a salvaged memory is not too expensive…)

My current home computer is ASUS A8N-SLI Deluxe with AMD X2 (stepping 02) processor, and it definitely can use all 4 GB of installed memory.
However original BIOS didn’t setup the “memory hoisting” correctly, and the end result was rather horrible crash if I tried to “hoist” and to use the memory above that limit. Then very recently there came out a new BIOS release that did it correct, and I am happy big memory spender…

So, if the motherboard BIOS setup has “memory hoisting” buried somewhere in the advanced menus, turning it on may help - or maybe not.
Then running your 32-bit operating system with /PAE enabled may let your operating system to use all 4 GB, permitting more big programs to run simultaneously without resorting to swapping.

By the way, for performance reasons I do prefer to run 64-bit operating systems, and 32-bit applications.
This is equally true for SPARCs running Solaris, as well as PC hardware running whatever.
Very few applications do benefit from 64-bit pointers, but operating system core is usually a different story, especially if you do have more memory than fits inside the first 4 GB.

the real problem is that everybody keeps just going bigger with memory, meanwhile memory access time is only getting slower, not faster, instead of focusing efforts on speeding up processing power someone needs to get on top of that memory speed curve and push the limits a bit, if you could double your memory access speed you could exponentially increase the available address space for total memory because you could double-clock memory accesses. there are lots of smaller and single-purpose sdram chips that do this already, currently i’m using one because i’m designing an FPGA system with limited I/O pins and i’m sending video frames through ethernet from a submarine to a console. granted it’s much more feasible because my FPGA’s clocking at 50 MHz, so double-clocking the 133 MHz sdram isn’t a problem, but still…anyone who wants to set a market trend, there’s your place.

Maybe all programs in near future comes in a usb-memory-like device that holds its own memory usage? Even its own cpu… Would be nice.

Moving memory handling to the program instead of bios/OS… Every program runs in its own world (virtual machine) with pipelines in and out to communicate with the host OS.
The real machines memory mapping will be to handle those pipes.

Moral of the story buy AMD? j/k

Yeah, why mess with Windows when there are dozens of Linux distros with thousands of precompiled packages for the x64 architecture?

the behavior of the PAE switch on workstation versions of Windows changed beginning with SP2 for XP. Too many drivers were choking when handed addresses outside the 32-bit address range limit and MS was tired of being blamed for the resulting problems, so in SP2 they removed the portion of the PAE switch’s behavior that remapped otherwise-inaccessible RAM below the 4G boundary to above the boundary.

“Linux?”

umm Linux has the EXACT SAME PROBLEM so I’m not sure what this is in reference to. This is purely a hardware issue and has nothing to do with the OS. It is so funny to see how many people have absolutely zero idea how their system works… but are quick to recommend things like Linux to fix the problem rofl.

Old information.

Reminds me of my first 60 GB hard drive.

Took me a while to realize why I was trashing the FAT table/drive every time I wrote beyond 32GB.

Why doesn’t 32-bit Windows support PAE correctly?

Here’s linux:

Linux 2.4.x does support greater then 4GB of physical memory (ie. RAM)

It does this by supporting Intel’s PAE (Physical Address Extension) features which are in all Pentium Pro and newer CPU’s.

It does this via indirect pointers to the higher memory locations, so there is a CPU and RAM hit for using this.

Benchmarks seem to indicated around 3-6% CPU hit just for using the PAE extensions (ie. it applies regardless of whether you are actually accessing memory locations greater then 4GB).

The PAE extensions allow up to a maximum of 64GB of physical memory that the CPU (not a process) can address.

PAE does not increase Linux’s ability for single processes to see greater then 3GB of RAM (see below).