Why all these articles about PAE and /3GB?


Apparently there is some unrest in comment-land with people who are sick of this whole /3GB series.

Why have I been spending over two weeks exploring the consequences of the /3GB switch and exploding various common myths about it?

Because too many people don't understand what /3GB means but talk as if they do. As you saw yesterday, there are still lots of people out there that don't understand the differences between physical memory, virtual memory, and virtual address space, and end up misconfiguring their computers or treating the switch as magic fairy dust. I've gotten tired of explaining it to misguided person after misguided person over the years, so I figured if I wrote up the explanation and debunkings once and for all, I won't have to visit the topic ever again.

You think you're sick of /3GB? You've only had to deal with it for two weeks. Imagine having to explain the /3GB switch for six years!

At any rate, the 3GB series will draw to a close at the end of the week, assuming everything goes according to schedule. Then there will be other topics for you to be sick of.

Comments (22)
  1. Al says:

    To be honest I don’t care about /3GB at all, but I know a lot of people do want or need to know about it (properly) so I’m not really annoyed at the posts per se. The thing that’s getting me is the lack of anything else. When you did the series of topics on dialog stuff (i don’t remember it exactly, I think it was 16- and 32-bit differences in dialogs, you also had unrelated posts that the slightly more non-technical people could enjoy. Now obviously this is Raymond’s blog and (as far as I know) it’s not part of his job description, and as such it’s a free time activity. This means he can’t spend as much time writing posts to please everyone as we’d want him to, but, well I dunno, try and mix it up a bit maybe? Maybe you should’ve done one day of /3GB then one of unrelated. Although that really would’ve drawn /3GB out even more!

    I dunno. It’s all good, and I have been reading the posts and learning. I just never really cared about it. Maybe later in my life it’ll be important (I’m just a Uni student) although by then the /3GB switch probably won’t be required!

  2. Miles Archer says:

    I’m glad this is written up so I have some place to refer to (and refer others to).

    Having said that, it would be nice to see some wacky posts on knitting or languages now and then.

  3. Dr. Jekyll says:

    All those sick of /3GB : change the channel, folks !! Don’t b*tch at the source of the (valuable) information !

  4. Claus says:

    I sure appreciate this series. I’ve been trying to educate customers about the /3GB mode for years now, and even I found a few new aspects of this mode in your blog – thanks 1E6 for sharing this with us!

    Claus

  5. Todd Spatafore says:

    I’m just a lurker here, but I truly appreciate all the information. Thank you.

  6. Arta says:

    I’ve been enjoying them too. They don’t really apply much to anything I do but they’re still informative.

  7. Kevin R says:

    I for one appreciate the info. It is very helpful to see this stuff spelled out carefully, completely and all in one place.

    Besides, considering that this is *Raymond’s* blog, if he wants to talk about /3GB I suppose that’s his perogative… Can’t please everyone all the time, eh?

  8. Sean Reilly says:

    Personally I *love* this series, and I’ll probably be re-reading it far in the future.

    Actually, it couldn’t have been published at a better time. Our company is currently deploying a SQL Server 2000 Enterprise server with 8Gb of RAM, and this series of posts has helped us immensely to figure out how we should configure it. It’s the single best source of information on the subject so far.

  9. James says:

    I concur with the others – I may not have held these beliefs myself, but I’ve seen them before, and now have better answers to them :)

    Thank you, Raymond.

  10. Norman Diamond says:

    Apparently there is some unrest in

    > comment-land with people who are sick of

    > this whole /3GB series.

    I didn’t think they needed a reply. No one forces them to read your blog. They don’t even have to pay for a copy of your blog if they just want to buy a PC to read other blogs. There’s nothing for them to complain about.

    Hmm, wait a minute, maybe there is a reason to be sick of /3GB. If someone needs lots of space, and /3GB is too constraining because it’s not even enough to store one US dollar per bit… Hmm, maybe you do need be careful of who’s making those complaints?

  11. Jon Potter says:

    I’d be quite interested in a summary of the differences (technical and functional) between all the different memory allocation functions. Eg between LocalAlloc/GlobalAlloc, or what the difference between doing LocalAlloc vs HeapAlloc(GetCurrentHeap()) is, etc…

  12. foo says:

    My point was exactly what Al realised, and apparently nobody else did. Eating steak every day is boring. So is reading about the same thing.

  13. AndyB says:

    I posted a comment that this topic was getting a little .. not up to the entertainment quality of Raymond’s usual posts, maybe because its the same old thing all the time, maybe because its a topic I simply don’t care about (if you need 3GB of memory used, you need to revisit your design and use a database, if it is a database you’re squeezing in, then you need to revisit your queries :) )

    I look forward to the new posts next week, and still have to thank Raymond for posting them, I have enjoyed the other posts, even the ones that I didn’t have any interest in… so maybe this /3GB topic has just gone on too long.

  14. Steve Donie says:

    AndyB

    There are applications that legitimately need to have large amounts of data loaded. For example, I am working on a project that loads seismic data of the subsurface (for visualizing oil-bearing rock formations). The smaller files are typically in the 200 MB range, and larger files can get to be > 1GB. When you try to load that much data on a Windows box, and account for all the other stuff that is loaded into the virtual address space, and fragmentation thereof, we easily end up running out of space.

    Yes, part of our problem is that we have to load those sesimic ‘cubes’ into one large chunk of contiguous memory, but so far no one has come up with good ways to do things like be able to animate through the data quickly in other formats.

    I have greatly appreciated the series, by the way, and am passing ref’s along to the rest of my team. I too have spent way too much time trying to explain /3GB to folks, and I have learned a lot that I mis-understood.

  15. Claus says:

    AndyB: I’d wish handling large memory requirements was that easy. Our customers simply build larger and larger models, and they want to load ALL of that data into main memory in one big chunk because that is the only acceptable use model for them. (And no, we’re not into databases.) So no matter how much we optimize our internal memory requirements, there will always be customers who, at some point, bump into the 2 GB barrier and need more memory.

    A 64-bit port is of course the cleanest solution – and the 3GB mode buys us enough time for such a port. And that is why I am certainly not bored with any of this; in fact, I am thrilled .-) But then, I’m one of those probably few and weird guys who would actually enjoy writing a memory manager… ahem.

    Claus

  16. JB West says:

    On Linux, there’s a 4 gb mode for 32-bit systems where a full 4 gigs of address space is available to applications. I’m compelled to point this out since Windows struggles with 3GB mode, while an even cleaner solution exists. 64-bits is still quite a ways out…

    for Windows, and for big old applications too.

  17. Raymond Chen says:

    Yup that was already mentioned by another commenter. Note the 10-20% performance penalty however.

    http://weblogs.asp.net/oldnewthing/archive/2004/08/05/208908.aspx#209038

  18. DrPizza says:

    The 10-20% performance penalty does rather depend on what you’re doing–and it’s a much lower penalty than running out of address space and having to read things from disk.

    Of course, one might argue that if 3 GiB isn’t big enough, 4 GiB probably isn’t big enough either, and that’d be moderately accurate, but still, there’s a small class of problems where what Linux does is useful.

    It is a bit surprising that the split persists on the non-x86 platforms, though; other architectures provide the foundation for a no overhead 4/4 "split". This is found for example in OS X. Did NT on CHRP PPC have the split too, or did it go for 4/4?

  19. Al says:

    I (and people with my views on the /3GB series) seem to have come up against a lot of people over-defending the series, usually with a lot of sarcasm…

    > I didn’t think they needed a reply. No one

    > forces them to read your blog. They don’t

    > even have to pay for a copy of your blog if

    > they just want to buy a PC to read other

    > blogs. There’s nothing for them to complain

    > about.

    >

    > Hmm, wait a minute, maybe there is a reason

    > to be sick of /3GB. If someone needs lots of

    > space, and /3GB is too constraining because

    > it’s not even enough to store one US dollar

    > per bit… Hmm, maybe you do need be careful

    > of who’s making those complaints?

    I’m not saying that it’s unacceptable that this has been allowed to go on. I’m not saying I explicitly dislike it. All I’m saying is that it has got a little boring, but I do understand that if you’re going to star something like this, you have to see it out until the end. Like I said in my original comment it could just do with a little bit of non-3GB padding for people not so much into 3GB. Then again, with Raymond wanting to tell as many people as possible about this so as not to have to keep explaining it to everyone maybe he wanted everyone attention focused on it :)

  20. Eric TF Bat says:

    Hold on, Raymond – you’re saying there were people running with more than 2Gb of RAM six years ago???

    Boggle!

    (PS: I’m SOOO glad nobody has piped up with a comment like "640 Kb should be enough for everybody"… I’m so old, I can remember when it was the boss of IBM who supposedly said that, not Bill…)

  21. Norman Diamond says:

    8/19/2004 7:12 PM Eric TF Bat

    > more than 2Gb of RAM six years ago???

    Around 10 years ago I read about machines with 1GB of RAM, and they weren’t mainframes. Too bad I’d been away from mainframes by that point, but I’d guess that some already had 4GB.

    > I’m SOOO glad nobody has piped up with a

    > comment like "640 Kb should be enough for

    > everybody"…

    Wanna bet?

    http://weblogs.asp.net/oldnewthing/archive/2004/08/06/209840.aspx#214972

    By the way about 2 years ago I reread a comment in the 8086 processor manual, by Intel, saying that with a 1MB address space it was unlikely that anyone would run into problems mapping addresses. I think I laughed equally loudly as I did the first time, around 24 years ago.

  22.   As Evan already mentioned on his blog, Raymond Chen has a great series on /3GB switch on his blog. What is really cool is that Raymond takes on some myths about the /3GB switch and  the fact that he…

Comments are closed.

Skip to main content