Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Behind the 4GB Memory Limit In 32-Bit Windows

kdawson posted about 5 years ago | from the we-can-remember-it-for-you-wholesale dept.

Windows 756

An anonymous reader points us to a very detailed post by Geoff Chappell, first put up early this year, explaining how the 4GB memory limit commonly bandied about for 32-bit Windows (he is writing mainly about Vista) is more of a licensing preference than an architectural limit. The article outlines how Chappell unlocked his system to use all the memory that is present, but cautions that such hackery is ill-advised for several reasons, including legal ones. "If you want [to be able to use more than 4GB in Vista] without contrivance, then pester Microsoft for an upgrade of the license data or at least for a credible, detailed reasoning of its policy for licensing your use of your computer's memory. ... [C]onsider Windows Server 2008. For the loader and kernel in Windows Vista SP1 (and, by the way, for the overwhelming majority of all executables), the corresponding executable in Windows Server 2008 is exactly the same, byte for byte. Yet Microsoft sells 32-bit Windows Server 2008 for use with as much as 64GB of memory. Does Microsoft really mean to say that when it re-badges these same executables as Windows Vista SP1, they suddenly acquire an architectural limit of 4GB? Or is it that a driver for Windows Server 2008 is safe for using with memory above 4GB as long as you don't let it interact with the identical executables from Windows Vista SP1?"

cancel ×

756 comments

Sorry! There are no comments related to the filter you selected.

Wa wa what? (-1, Troll)

binarylarry (1338699) | about 5 years ago | (#29190949)

Does 64-bit cost more than 32-bit now?

So is that the reason that Linux has the same limit?

Why is this on the front page?

Re:Wa wa what? (5, Informative)

Annymouse Cowherd (1037080) | about 5 years ago | (#29190973)

Re:Wa wa what? (4, Informative)

Icegryphon (715550) | about 5 years ago | (#29191043)

yes, PAE has been around forever infact you can enable it in Windows 32bit versions,
But it wont do you a lick of good in MS windows, except for a very few version of windows.
http://msdn.microsoft.com/en-us/library/aa366778(VS.85).aspx [microsoft.com]

Re:Wa wa what? (1, Offtopic)

binarylarry (1338699) | about 5 years ago | (#29191047)

I hate to break this to you, but Windows now runs on Intel processors as well!

Imagine that?

Re:Wa wa what? (2, Insightful)

Lemming Mark (849014) | about 5 years ago | (#29191245)

But the article seems to be about a licensing-based restriction on allowed physical memory, depending on your version of Windows. So even if Windows and your hardware supports PAE, it may not let you use >4GB RAM. (nb. PAE is potentially useful even if you don't have more than 4GB RAM, since it gets you the NX bit).

Re:Wa wa what? (4, Informative)

Binestar (28861) | about 5 years ago | (#29190993)

Price is the same. In fact, you can barrow someone's 64 bit disk and use your 32 bit license key to to install 64 bit Vista. It is on the front page because it is quite interesting.

I have a feeling he hit it on the head when he mentioned third party drivers as being a possible reason for the limit.

Re:Wa wa what? (1)

space_jake (687452) | about 5 years ago | (#29191053)

Doesn't work with an OEM license, but the retail or whatever it is called gives you both 32-bit and 64-bit editions of Vista, though you may have to request the 64-bit cd from Microsoft if it was not included.

Re:Wa wa what? (2, Informative)

Anonymous Coward | about 5 years ago | (#29191217)

It does work with OEM licenses. I upgraded my 32 bit OEM Windows Home Premium to 64 bit by downloading the 64 bit version through a torrent and using my existing key. I had to call microsoft but they approved it.

Re:Wa wa what? (5, Funny)

eldavojohn (898314) | about 5 years ago | (#29191073)

In fact, you can barrow someone's 64 bit disk ...

Barrow [wiktionary.org] :

A mound of earth and stones raised over a grave or graves.

Your plan to put 64 bit copies of Windows in the ground and cover them with grave stones and dirt intrigues me and I wish to subscribe to your newsletter.

Re:Wa wa what? (5, Funny)

Binestar (28861) | about 5 years ago | (#29191167)

I have added you to my newsletter as requested. Email confirmation should be received in 1-2 hours.

Re:Wa wa what? (5, Funny)

eldavojohn (898314) | about 5 years ago | (#29191333)

I have added you to my newsletter as requested. Email confirmation should be received in 1-2 hours.

Mr. Brinestar, confirmation of E-mail confirmation received at 3:31 PM EST:

Subject: Subscription Confirmation for Binestar's newsletter that you requested on slashdot.

This is an automated email confirming your subscription to Binestar's newsletter as requested in your slashdot post here: http://tech.slashdot.org/comments.pl?sid=1347281&cid=29191073 [slashdot.org]

There is currently no way to remove yourself from this newsletter subscription. I hope you knew what you were doing when you subscribed!

Having completed reading your first newsletter (posted above), I found it vapid and devoid of the call to Microsoftalypse that I look for in all the periodicals I read (most notably my own newsletter entitled eldavojohn's Microsoftalypse that has a staggeringly high readership of a one eldavojohn of Slashdot.org).

Furthermore, to my horror, I noticed it was sent using an account from a hotmail.com address. Considering this datum, I found your footnote warning eerily apt. I shall post a scathing review of your newsletter (seven times longer than necessary) under the guise of frequent and unquestioned Slashdot contributor Bennett Haselton on the morrow. Good day, sir!

Re:Wa wa what? (5, Funny)

Linker3000 (626634) | about 5 years ago | (#29191439)

Meh, us Linux users sneer at your pathetic Windows barrows. We put our stuff in SSH tunnels.

Re:Wa wa what? (1, Informative)

Anonymous Coward | about 5 years ago | (#29191009)

Linux doesn't have the same limit. Use of the 32 bit PAE (Page Address Extension, I think) kernel enables access to 64GB of ram, much as 32 bit server 2008 does. Limiting ram to 4GB on a 32 bit system is a software, not a hardware limit. 64GB is the actual hardware limit once software workarounds are applied, to the best of my knowledge.

Re:Wa wa what? (3, Informative)

Lumpy (12016) | about 5 years ago | (#29191061)

Funny... What version of linux are you using that has the same limit? Slackware and Ubuntu don't have that limit.

Re:Wa wa what? (5, Informative)

Lemming Mark (849014) | about 5 years ago | (#29191181)

So is that the reason that Linux has the same limit?

Unless I'm misunderstanding you and the summary (not RTFAed yet - I know, I'm bad) Linux doesn't necessarily have the same limitation. The summary seems to imply that only 4GB of *physical* memory are being supported on 32-bit systems by some versions of Windows. All OSes running on 32-bit x86 are restricted to a 4GB virtual address space, therefore neither Linux nor Windows can offer more than 4GB of directly addressable memory *per process*. But many 32-bit x86 CPUs can address more than 4GB of physical memory using PAE mode.

The base requirement for using PAE is that the OS supports it - Windows can use it, Linux can too. PAE gets you the ability to address physical memory addresses over 4GB but only if the motherboard has enough address lines to actually relay these requests to the memory. Even if you can't / don't have more than 4GB of RAM installed, it may still be worth it because PAE also lets you use NX (no execute) on 32-bit. PAE on 32-bit doesn't make the process address space any larger, so any given process is still limited to 32-bit pointers.

32-bit Linux has to be compiled with or without PAE support, so your distro should make sure it installs a the right kernel version to correctly support your hardware. Some OSes (e.g. Solaris) can switch between PAE and non-PAE at boot time, so they only need one kernel image to support both modes. I don't know how Windows handles this.

A further benefit of PAE, that I've left till last because it's really somewhat gross: the memory mapped IO regions used by PCI devices also take up part of your physical address space. This can result in a "memory hole" where your *real* RAM is overshadowed by an area of memory-mapped IO regions - the real RAM is there but you can't access it. As a result, if you put 4GB of RAM in your system and use a non-PAE kernel (only 4GB of physical address space) then you are *guaranteed* not to be able to use all that RAM because you will *definitely* have hidden some of it "behind" the memory mapped IO regions. If you use PAE mode, the motherboard can potentially remap that "hidden" RAM to a higher physical address, so that you can use it. Not all motherboards support this remapping, even if they *do* support 4GB worth of DIMMs - which is rubbish because they're claiming to support memory that the hardware will never let you actually address. It pays to be wary of this kind of craziness - my mobo has this limitation, which I discovered after buying 4GB of DIMMs (so I stuck one in another PC, which kept me happy in the end).

Uh, sorry to the parent poster, I've rambled a bit off the point I was originally making and probably just told you a load of stuff you already knew!

Re:Wa wa what? (4, Insightful)

fuzzyfuzzyfungus (1223518) | about 5 years ago | (#29191355)

It would be pretty hard to get worked up about what you lose from the memory mapped regions(except on aesthetic grounds), except that your video RAM is one of those regions. All the weird legacy stuff below 16 megabytes is very nearly a rounding error; but with cheap, basic graphics cards packing 512megs(and high end cards pushing 1.5gigs, and possibly more than one card per system) you can exhaust a fair slice of the first 4GB that way.

Re:Wa wa what? (1)

Your Anus (308149) | about 5 years ago | (#29191537)

Isn't DMA limited to 4GB on most devices? That would make it hard for a device to work with memory that is remapped. Linux does support 64GB with PAE on 32-bit, but the extra work to support PAE hurts performance. Even linux kernel folks recommend 64-bit when you get above 8GB or 16GB.

I don't understand... (5, Funny)

schon (31600) | about 5 years ago | (#29190961)

is more of a licensing preference then an architectural limit

So it's a licensing preference, followed by an architectural limit? If so, how is this a story?

Re:I don't understand... (2, Informative)

sharkey (16670) | about 5 years ago | (#29191255)

No, it's a licensing limit, basically the same limit that existed in Windows NT 4, 2000, XP and 2003. The more you pay, the more CPUs and memory you are permitted to use.

Re:I don't understand... (0)

Anonymous Coward | about 5 years ago | (#29191335)

WHOOSH!

Nobody needs more than 640K of RAM (3, Insightful)

Orion Blastar (457579) | about 5 years ago | (#29190969)

Now they will say nobody needs more than 4G of RAM.

I remember back in the day when 8M of RAM was considered too much.

Looks like Microsoft will force upgrades to Windows 7 to get over the 4G RAM limits?

Ah for the days of the AST Rampage card that got over the 640M RAM limits using EMM/EMS memory standards. Can't someone just write a RAM extender driver for 32 bit Windows for XP and Vista to get over the 4G RAM limit?

Re:Nobody needs more than 640K of RAM (1)

maxume (22995) | about 5 years ago | (#29191295)

The group of people who own 32 bit computers with enough space for a great deal more than 4 GB of RAM, desperately want that space filled, and really don't want to spend $150 on Windows 7, is going to be quite small (and I'm not sure 32 bit Windows 7 will even fix the problem).

Use bank switching... (2, Interesting)

theaveng (1243528) | about 5 years ago | (#29190983)

That's how my Commodore=128 got around the 64k limitation of its CPU, and could access upto 16 banks or 1 megabyte of RAM.

If the same technology was used with 32 banks of Windows XP space, you could get 128 gigabytes.

Re:Use bank switching... (2, Informative)

TheRealMindChild (743925) | about 5 years ago | (#29191065)

You CAN turn on PAE if your hardware platform supports it (most modern ones do). However, this tends to break Desktop 32bit windows, because the driver producers make stupid assumptions like its driver will always be loaded in the 3GB->4GB address space.

Aside from that, paging will only give you 4GB of contiguous memory. That kind of kills most practical uses for this kind of memory (aside from running many apps).

Simple (5, Informative)

TheRealMindChild (743925) | about 5 years ago | (#29190987)

Does Microsoft really mean to say that when it re-badges these same executables as Windows Vista SP1, they suddenly acquire an architectural limit of 4GB? Or is it that a driver for Windows Server 2008 is safe for using with memory above 4GB as long as you don't let it interact with the identical executables from Windows Vista SP1?

Windows Server 2008 drivers have to be signed. For them to get signed, they can't do stupid shit like assume they are loaded in the memory space between 3GB->4GB, I'd imagine.

Re:Simple (4, Funny)

fluch (126140) | about 5 years ago | (#29191131)

...they can't do stupid shit like assume they are loaded in the memory space between 3GB->4GB, I'd imagine.

You must be new here...

Re:Simple (1)

DaHat (247651) | about 5 years ago | (#29191317)

Half true... x64 versions of Windows require signed drivers... however you are not required to have your drivers signed when running an x86 build of 2008.

Snow Leopard will be available in three days (-1, Troll)

Anonymous Coward | about 5 years ago | (#29190995)

Buy a Mac, leave Microsoft and all their stupid crap behind. It's just not worth it.

Re:Snow Leopard will be available in three days (1)

Your Anus (308149) | about 5 years ago | (#29191579)

Or, you could install Linux or FreeBSD on a PC.

windows 4gb memory limit (0, Troll)

Anonymous Coward | about 5 years ago | (#29191001)

My Linux boxes never have these issues. hmmm.

Re:windows 4gb memory limit (2, Informative)

micheas (231635) | about 5 years ago | (#29191199)

The last time I compiled linux for x386 I was given the option of supporting more than 4 gig of ram with a warning not to do it unless you needed to because of the performance penalty.

It seems like the cost effective thing to do in the vast majority of cases with x386 is to get multiple boxes with 4 gig of ram. The exception seems to be some database servers with a particular load pattern.

Re:windows 4gb memory limit (0)

Anonymous Coward | about 5 years ago | (#29191341)

your mom's box doesn't have those issues, either. Just last night, she took 7 uncut black cocks.

Word for the wise (5, Informative)

Anonymous Coward | about 5 years ago | (#29191007)

On a 32-bit system a single process will always be limited to 4 GB due to the number of address bits, unless the programmer goes through hoops to access a larger memory area one small piece at a time (tricks like that were common in the DOS era -- anyone remember EMS?). On Windows the kernel typically reserves one half of the address space, cutting the usable memory of a single process down to 2 GB. Thus you won't get much advantage from a 64 GB capable kernel unless you run multiple programs that all require 1-2 GB of memory. Come to think of it, such usage is most likely on a server.

Re:Word for the wise (2, Informative)

Psyborgue (699890) | about 5 years ago | (#29191067)

Photoshop will eat up memory by the gigabyte as will 3d sculpting apps and reyes type renderers. Video editing in HD almost always requires a large amount of ram for ram previews and smooth scrubbing among other things.

Re:Word for the wise (4, Informative)

Chris Burke (6130) | about 5 years ago | (#29191289)

Then get a 64-bit OS and be happy.

PAE is a hack. Even if your copy of windows supports it, it still sucks. It doesn't actually grant the ability to access all 64GB at the same time, it only lets you access it in 4GB windows, so your app has to jump through a lot of hoops to be able to actually use that memory. It was a decent solution for having large databases in the 32-bit era, and that was rightly the only place it should be used. Today, 64 bit cpus are completely mainstream and vastly superior for handling large amounts of data.

Frankly, in the era of 64-bit budget computers, I think calling the 4GB limit "architectural" is as fair as saying the 286 had a 1MB limit after the introduction of the 386. Technically not completely accurate, but for most nearly all practical purposes it drives the listener in the right direction, which is getting the product which doesn't have the restriction in any way.

Re:Word for the wise (0)

Anonymous Coward | about 5 years ago | (#29191457)

*cough*My newly unboxed version of ddo:stormreach (A game that is over 9000 years old)*cough* on the best settings consumes about 1.2Gb of ram. Just adding something to the list.

Re:Word for the wise (1)

tagno25 (1518033) | about 5 years ago | (#29191473)

But if you are not going to run multiple instances of those programs, then it can only address 4GB as a maximum

Re:Word for the wise (1)

arjennienhuis (159927) | about 5 years ago | (#29191309)

Even if you would run only one process, you can still use thee extra usable RAM for the disk cache.

Re:Word for the wise (0)

Anonymous Coward | about 5 years ago | (#29191367)

That is only partially true. Sometimes you are limited by that 1 gig of memory you have in your video card and where it is mapped into memory by the PCI bus.

Dense reading but worth it if you want to understand how windows memory works.

http://blogs.technet.com/markrussinovich/archive/2009/03/26/3211216.aspx [technet.com]
http://blogs.technet.com/markrussinovich/archive/2009/07/08/3261309.aspx [technet.com]
http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx [technet.com]
http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx [technet.com]

Re:Word for the wise (0)

Anonymous Coward | about 5 years ago | (#29191409)

While not all software needs it, being able to store data in RAM rather than pull it off the hard drive can be very useful. I use my PCs to run software synths, and the hard drive is simply incapable of dealing with the amount of data being streamed constantly. The programs load all the samples straight into RAM. I very commonly have multiple processes running, each using up to a GB or more of RAM. Although it would be nice if a single process could access more than 2 GB, being able to have multiple processes each accessing up to 2GB of RAM would be awesome.

The RAM limit is a major driving force in trying to push audio software over to 64bit... in fact Microsoft has teamed up with Cakewalk and their program Sonar to promote its 64bit version.

I can see the Ciritcal patch comming! (1)

NetNinja (469346) | about 5 years ago | (#29191017)

As soon as Microsoft finds out they will put out a patch that closes this exploit down and God help you if you are running anything in production.

But of course none of us would ever do that :)

Re:I can see the Ciritcal patch comming! (1)

Binestar (28861) | about 5 years ago | (#29191267)

Why run Vista32 on a 64 bit processor at all? You can use the Vista32 license key to install Vista64 and have native support for the memory without going into test mode on windows. Much better than the possible issues you'll run into trying to hack this together. Especially if you're going for something production.

Re:I can see the Ciritcal patch comming! (1)

Stauken (1392809) | about 5 years ago | (#29191529)

Because OEMs are hacks and will occasionally do things like put versions of Windows that are 32 bits on 64-bit hardware. Very frustrating to unbox a brand new machine w/ a 64 bit processor to find Vista Home loading. On top of that, the way that Vista now handles 'restoring' the hdd means that unless you have all of your drivers handy, a copy of 64 bit vista, and some luck on your side, you are stuck utilizing a 32-bit OS on a 64-bit machine. This spells doom for the average home user, who (typically) wouldn't even be aware of the differences and performance gains that they could have with an upgrade.

2^32 (-1, Redundant)

Anonymous Coward | about 5 years ago | (#29191051)

I say no more.

Let's just get over this and move to 64bit (3, Insightful)

FictionPimp (712802) | about 5 years ago | (#29191083)

Seriously, there are no real technical reasons why we can't just run 64bit operating systems. Let's just stop selling 32bit ones.

Re: Let's just get over this and move to 64bit (4, Informative)

Black Parrot (19622) | about 5 years ago | (#29191227)

Seriously, there are no real technical reasons why we can't just run 64bit operating systems. Let's just stop selling 32bit ones.

Good idea.

Unfortunately, lots of Windows software won't run on 64-bit Windows XP. Even Windows Update tells you you have to close the 64-bit WIE so it can run the 32-bit version to fetch the update... how lame. Then half the updates won't install, for reasons that aren't made clear.

It should be clear by now that Microsoft, like every other corporation on the planet, isn't going to do a damn thing unless their share prices depend on it. When there's overwhelming consumer demand for 64-bit computing, they'll start fixing their consumer software to support it.

Re: Let's just get over this and move to 64bit (1)

FictionPimp (712802) | about 5 years ago | (#29191257)

I've ran Windows vista 64bit with very few issues. I assume by the time windows 7 is commonplace these issues will be even less.

I'm just saying MS needs to just draw the line somewhere and stop making 32bit operating systems.

My mac is soon to be mostly 64bit with SL coming out. My linux machines have been 64bit for at least a year. Let's get the windows machines up to snuff.

Re: Let's just get over this and move to 64bit (2, Interesting)

SilverEyes (822768) | about 5 years ago | (#29191307)

...I'm just saying MS needs to just draw the line somewhere and stop making 32bit operating systems.

My mac is soon to be mostly 64bit with SL coming out. My linux machines have been 64bit for at least a year. Let's get the windows machines up to snuff.

Windows 64-bit has been around for awhile. Server 2k8 R2 has no 32-bit support, indicating that the next client version of the Windows OS will be 64-bit only. Currently Windows 7 ships both 32 and 64 bit on the same disc, hopefully reducing confusion and increasing 64-bit installs.

Re: Let's just get over this and move to 64bit (0)

Anonymous Coward | about 5 years ago | (#29191555)

I assume by the time windows 7 is commonplace

Don't count your chickens before they hatch...

History repeats itself (1)

Cro Magnon (467622) | about 5 years ago | (#29191379)

Weren't 32-bit machines entry level before 1990? Yet, it took until MS shipped XP in 2001 before most consumers were running a 32-bit OS. We'll probably be running 64-bit Windows by 2030.

Re: Let's just get over this and move to 64bit (0)

Anonymous Coward | about 5 years ago | (#29191465)

Windows have improved since XP 64. Windows Update isn't run through IE anymore.

Re:Let's just get over this and move to 64bit (0)

sanosuke001 (640243) | about 5 years ago | (#29191239)

Finally, a sane voice in the crowd. I've been saying this ever since Intel and AMD started making 64-bit CPUs. There is no reason to support 32-bit right now. It just confuses people and keeps us from advancing technology and software. Hell, I would love to see AMD/Intel drop support for all the x86 instructions and just stick to the new x86-64 ones. There are a lot of hacks required for backwards compatibility of x86. Hell, switch to a new architecture.

Re:Let's just get over this and move to 64bit (0)

Anonymous Coward | about 5 years ago | (#29191265)

Just because there are no 'technical reasons', we're good to go with moving across? There are other reasons why this wouldn't work in practice: NON-technical reasons.

Re:Let's just get over this and move to 64bit (2, Interesting)

SlashDev (627697) | about 5 years ago | (#29191269)

I think there are. Many 32-bit apps don't run very well (or at all) under a 64-bit OS. This is why open source software is so great, you can re-compile for a new target OS, without having to wait on the bureaucratic stuff.

Re:Let's just get over this and move to 64bit (1)

Just Some Guy (3352) | about 5 years ago | (#29191383)

Many 32-bit apps don't run very well (or at all) under a 64-bit OS.

...for the set of values of "OS" equal to "Windows". 32-bit apps run just fine on 64-bit Windows and OS X.

Re:Let's just get over this and move to 64bit (4, Insightful)

frank_adrian314159 (469671) | about 5 years ago | (#29191435)

there are no real technical reasons

Well, other than for crappy software that assumes that an address is 32 bits...

Or hardware that doesn't have drivers for 64-bit systems...

So, yes, no technical reasons at all...

Re:Let's just get over this and move to 64bit (4, Informative)

nurd68 (235535) | about 5 years ago | (#29191561)

Minor technical reason:

64 bit OS's don't run on 32 bit CPUs, which is most of the netbook lines. While there are a few Atom models which are 64 bit, the majority of them are 32 bit. I don't think MS wants to abandon that market to Linux, since it would allow netbooks to become a Linux "gateway drug".

Re:Let's just get over this and move to 64bit (2, Interesting)

Locke2005 (849178) | about 5 years ago | (#29191571)

No technical reasons, but there are economic reasons to use 32-bit instead of 64-bit code. 64-bit code tends to use more memory! Granted, memory has gotten much cheaper, so that reason is much less valid than it was a few years ago.

Hmm (4, Insightful)

ShooterNeo (555040) | about 5 years ago | (#29191085)

I skimmed the article.

What it boils down to is : it's possible for 32-bit windows to use more than 4 gigs of memory. Microsoft doesn't allow this for the consumer licensed versions of Windows. While the article makes various allegations that Microsoft is doing this to be bad, the author found out that many device drivers intended for 32 bit windows will break if PAE is enabled. In addition, PAE is an ugly hack, and it still won't let a single thread access more than 3 gigs of RAM. These days, single applications like games and video editing software can easily use more than 3 gigs of RAM.

Long story short : Get, and use 64-bit Windows for Windows machines with a lot of RAM. Since 64-bit XP is poorly supported, and Vista is dog-shit, then that means you should be using 64-bit Windows 7.

Ram Disk? (0)

Anonymous Coward | about 5 years ago | (#29191281)

What about loading the unaddressable space as a RAM disk [wikipedia.org] , then telling the operating system to use it as "Virtual Memmory"? I've seen a possible solution here [codeguru.com] , but have yet to try it myself.

Re:Ram Disk? (1)

ShooterNeo (555040) | about 5 years ago | (#29191385)

Still a hack. The performance benefits from that aren't great. Already, certain games (like Supreme Commander) need more than 3 gigabytes of RAM. Second, a lot of virtual memory only can cache things that your hard disk has read recently. It won't let you cache a file that hasn't been accessed since you booted. An Intel SSD would offer you a far better performance boost for your buck, since with an SSD all files on the device can be accessed rapidly with low latency.

Even a RAM disk offers only limited benefits over an SSD, and is not cost effective. I looked into RAM disks, and found that in order to get a decent amount of RAM onto a motherboard, you have to sacrifice processor speed and pay a LOT more. RAID 0 Intel SSDs coupled with a high end processor and a modest amount of RAM (8-12 gigs) gives more performance for the same cost. And you need a 64-bit version of Windows to make it all work. Personally, I still use 64-bit XP, but my next machine will be a Windows 7 box.

Re:Hmm (1)

blackomegax (807080) | about 5 years ago | (#29191327)

I wouldn't go so far as to call vista dog-shit and then recommend 7 in the same breath.
They're basically the same with 7 being the feature equivalent of a service pack.

Vista isn't that bad, either.
XP has stone-age memory management. (this is not a reference to the 4gb limit, but to how it actually MANAGES the 4gb)

Re:Hmm (1)

aarmenaa (712174) | about 5 years ago | (#29191347)

If I remember correctly PAE was actually enabled in at least some versions of Windows XP 32-bit. It was disabled in one of the service packs or something because it caused a bunch of trouble for people with code that wasn't PAE-aware. I may be mis-remembering things, but that's how my fuzzy view of history is choosing to remember things.

Re:Hmm (1)

Volante3192 (953645) | about 5 years ago | (#29191363)

While the article makes various allegations that Microsoft is doing this to be bad, the author found out that many device drivers intended for 32 bit windows will break if PAE is enabled.

Negative.

The claim is drivers will break if you have over 4gb ram. PAE is enabled by default on 32 bit Windows because DEP is enabled by default and DEP requires PAE.

Furthermore, there is no proof of drivers affecting Windows if more than 4GB is in use because you can't create an environment to test these claims. The only 'proof' comes from statements from Microsoft.

FTA:

when Microsoft makes out that defective drivers are so widespread and dangerous that 32-bit Windows Vista cannot be allowed to use memory above 4GB even as a configurable option, how is anyone to know the truth of it? Nobody can test even one driver on 32-bit Windows Vista with the licensing data that Microsoft supplies for it.

Re:Hmm (1)

ShooterNeo (555040) | about 5 years ago | (#29191421)

RTFA. The author found that Nvidia drivers will break on his test machine. Given that Nvidia makes about half the graphics cards, and the point of a Windows box is to play games, that's a show stopper. I would do the same thing if I were Microsoft.

Look at it this way : if Microsoft DIDN'T put a limit of 4 gigs, they would have to support that hacked together mess called PAE for consumers. This way, as computers commonly sold start to come with more and more memory, people will naturally migrate to 64 bit and the device driver writers will be forced to comply. That's where the real problem lies : lack of 64 bit driver support is the only reason that everyone isn't using 64 bit windows already.

Re:Hmm (0)

Anonymous Coward | about 5 years ago | (#29191451)

...you should be using 64-bit Windows 7.

You are assuming that 64-bit Windows 7 isn't dog shit as well.

Re:Hmm (1)

ShooterNeo (555040) | about 5 years ago | (#29191509)

Well, it's the least shitty 64 bit OS available that will play mainstream games and allow you to run most software written for desktop PCs over the last 30 years.

Vista = Dog-shit? (0)

Anonymous Coward | about 5 years ago | (#29191567)

While I am certainly not a Vista fanboi, I would like to say that once I got it properly configured, it has been running very smoothly since the beginning of the year. It boots in seconds, does everything I need it to do, and is snappy as I've ever hoped it to be.

64-bit Vista Ultimate SP1 on a 4.2 Ghz Core Duo (OC'd) with 8 Gb ram and 1 Gb Nvidia card. If you have an older machine, I wouldnt suggest Vista in the slightest, but with modern hardware and the proper configuration (Yes, I still use Aero), it runs well. Well enough that I am happier with it than I was my old 32-bit XP machine.

32b? (3, Insightful)

Lord Ender (156273) | about 5 years ago | (#29191095)

Are there people out there who have more than 4GB of memory but still run old 32b operating systems? How uncharacteristically anachronistic of any technology enthusiast...

Re:32b? (1)

Icegryphon (715550) | about 5 years ago | (#29191207)

Yeah sadly I have plenty of those Xeon Prestonia's [wikipedia.org]
Great chips but no EM64T support, It is not like you can flash them to support it either.

Re:32b? (1)

jgtg32a (1173373) | about 5 years ago | (#29191315)

Yes I saw one yelling at the lady running the Dell kiosk at the mall

Re:32b? (3, Funny)

Monkeedude1212 (1560403) | about 5 years ago | (#29191325)

You'd be surprised. You see alot of people go into BestFutureBigBlockStoreUSAToday and say "My computer's running slow!" and they go "You need more Rams!" and the customer goes "How much will that cost me?" and they go "300 Bones, and we'll do it for you!" and next thing you know, Blogger Buddy Bill has 8 Gigs of RAM on his 32b XP. And because he paid so much, he insists theres a difference!

Re:32b? (1)

kigrwik (462930) | about 5 years ago | (#29191399)

I do.

Most of my company's code is not 64-bits clean, so it's easier for me to run a 32bits OS (Linux) to run 32bits processes, even though I have 8GB of RAM. I usually load 6 to 8 processes simultaneously, as I work on very splittable data sets.

Besides, I expect fewer problems with proprietary software (nvidia drivers, flash) on 32bits Linux.

Your mileage may vary.

Re:32b? (2, Interesting)

pavon (30274) | about 5 years ago | (#29191401)

Yeah, I hate it. I write software to process large scientific datasets. Corporate IT still will not support 64-bit XP or Vista, so all the scientists/engineers are running 32-bit. It is usually easier to try enabling 3GB user space or PAE and hope their drivers are complaint than it is to get them to upgrade their OS.

Re:32b? (0)

Anonymous Coward | about 5 years ago | (#29191429)

Agreed. What in the world is this doing on /.? Most competent computer manufacturers will not even sell a machine with over 4GB unless it is loaded with a 64-bit OS. Why stay with 32 bit? What is so great about staying with 32 bit? IMHO us geeks need to quit trying to go backwards with technology and just make the tiny jump to 64-bit. DEATH TO 32-BIT BASED OS'S! Muahahahaha!

Market segmentation (4, Insightful)

Just Some Guy (3352) | about 5 years ago | (#29191119)

And in other news, it costs precisely the same to press a copy of Vista Home Crippled versus Vista L337 OMG, and yet Microsoft charges differently based on which bits are enabled on the particular copy that HP installed on your laptop. This called "market segmentation". If you think a proprietary software company's going to give the cheap version all the same features as the expensive one, just because it wouldn't directly cost them more to do so, then you are hopelessly naive.

Fair price??? (3, Insightful)

DoofusOfDeath (636671) | about 5 years ago | (#29191135)

"If you want [to be able to use more than 4GB in Vista] without contrivance, then pester Microsoft for an upgrade of the license data or at least for a credible, detailed reasoning of its policy for licensing your use of your computer's memory. ...

I dunno... maybe because they think that price maximizes their profitability?

Or do you feel that they're morally obligated to only make a certain profit margin off of their price?

Re:Fair price??? (0)

Anonymous Coward | about 5 years ago | (#29191431)

yes.

server hardware vs desktop hardware (2, Interesting)

BlackSnake112 (912158) | about 5 years ago | (#29191137)

Many server motherboards have more then 4 RAM slots. Many DDR3 desktop motherboards have 6 RAM slots. But it is not uncommon for server motherboards to have 12 or more RAM slots. Can one get 64 GB of RAM with 6 RAM slots? Sure, we can even do it with 4 RAM slots if you can get 16 GB RAM modules. Most people do not do that. And most regular people have no need for 32GB or 64GB of RAM in their desktop. Vista jokes aside, 64GB of RAM should really be in the for servers not desktops. That can be the thinking behind the 4GB of RAM limit for 32 bit desktop operating systems. Most people who use them will not have a need for more then that.

Also when the 4GB of RAM limit was set, RAM was really expensive. RAM prices have dropped a lot over the years. While having 4GB of RAM today can be commonplace, that was not the case 10 years ago.

Re:server hardware vs desktop hardware (1)

Monkeedude1212 (1560403) | about 5 years ago | (#29191413)

I think we can agree that the average Desktop user does not need 32GB of RAM.

However, could we agree that a good chunk could use 10GB? Specifically anyone who either A) Plays games B) Uses image or audio editting software or C) Likes to have more than 5 applications running at once.

I'd say thats a reasonable piece of the market that is being neglected. Its not that the 4GB RAM limit was unreasonable when it was set, but times are a changing and so should the limit.

Re:server hardware vs desktop hardware (1, Insightful)

Fujisawa Sensei (207127) | about 5 years ago | (#29191463)

Many server motherboards have more then 4 RAM slots. Many DDR3 desktop motherboards have 6 RAM slots. But it is not uncommon for server motherboards to have 12 or more RAM slots. Can one get 64 GB of RAM with 6 RAM slots? Sure, we can even do it with 4 RAM slots if you can get 16 GB RAM modules. Most people do not do that. And most regular people have no need for 32GB or 64GB of RAM in their desktop. Vista jokes aside, 64GB of RAM should really be in the for servers not desktops. That can be the thinking behind the 4GB of RAM limit for 32 bit desktop operating systems. Most people who use them will not have a need for more then that.

Also when the 4GB of RAM limit was set, RAM was really expensive. RAM prices have dropped a lot over the years. While having 4GB of RAM today can be commonplace, that was not the case 10 years ago.

If the system needs swap or a page file, then it doesn't have enough RAM.

Re:server hardware vs desktop hardware (1, Insightful)

Just Some Guy (3352) | about 5 years ago | (#29191521)

Vista jokes aside, 64GB of RAM should really be in the for servers not desktops. That can be the thinking behind the 4GB of RAM limit for 32 bit desktop operating systems. Most people who use them will not have a need for more then that.

Not understanding how CPU architecture works and the implications of "32-bit" aside, many people need more than 4GB of RAM, even if they don't realize it. You don't have to be an ubergeek to edit home movies on a desktop system these days. Witness the popularity of flash-based video cameras, like the Flip, and how cheap they're becoming. I'll bet that even as I type this, some kid is trying to edit a skateboarding video he just recorded and loaded onto his parents' 512MB XP machine. When it comes to image or video manipulation, there's almost no such thing as "too much RAM", and more is almost always better.

Also when the 4GB of RAM limit was set, RAM was really expensive.

To the tune of $1,000 a MB. That's approximately what it was going for when I bought my first 32-bit computer. That still has nothing to do with why they "set" a 4GB limit.

I didn't ... (1)

SlashDev (627697) | about 5 years ago | (#29191153)

.. read the article, and for good reason. I want to make sure, that the frontpage article is accurate enough. Pardon my French, by how can you access RAM above 4GB, if you are running a 32-bit OS? I'm not tech savvy, how would can code access memory it can't see?

Re:I didn't ... (0)

Anonymous Coward | about 5 years ago | (#29191303)

Memory paging via PAE, I'd expect.

Re:I didn't ... (0)

FrankSchwab (675585) | about 5 years ago | (#29191391)

Google is your friend. Use it.

Re:I didn't ... (1)

kigrwik (462930) | about 5 years ago | (#29191489)

http://en.wikipedia.org/wiki/Physical_Address_Extension [wikipedia.org]

Each process addresses at most 4GB of data (or is it limited by most OSes to 2GB ?), but the whole OS can address more (with the proper hardware support, which has been standard since ... long ago, I don't remember).

Re:I didn't ... (2, Informative)

Mr. Shiny And New (525071) | about 5 years ago | (#29191507)

The Intel Xeon processors introduced a mode called PAE that increases pointer size to 36 bits. This allows the OS kernel to access more than 4GB of ram. Individual processes typically can not access this RAM directly but the OS and CPU handle this using hardware and virtual memory.

The Slashdot post is typically alarmist in claiming that there is an MS conspiracy afoot when in fact it's that PAE causes problems for countless drivers that are used on consumer computers but aren't used on servers. Servers have a much smaller range of hardware and the hardware and drivers are tested for PAE. Your desktop was not tested for PAE. So Microsoft disables the feature because you probably don't need it and it probably won't work anyway. If you know what you are doing you can get a Server OS and make it work.

Now, you say, "Gee, it's 2009! Who's Microsoft to say I don't need 4GB of RAM?" Well, XP is 8 years old and that is when this limitation was introduced. And your consumer version of Vista or 7 will work fine with 4GB if you get the 64-bit version. So everyone can calm down and pick the right OS for the job instead of whining about the sky falling.

Re:I didn't ... (1)

jpmorgan (517966) | about 5 years ago | (#29191553)

A processor running in 32-bit mode uses 32-bit values for virtual addressing. However, the processor uses 36-bit physical addressing when talking to RAM. The OS has a mechanism to assign any virtual pages in the 32-bit address space to any physical page in the 36-bit physical address space. Now, normal programs don't have more than 3GB of virtual address space to use, so if you have 64GB of RAM installed, each process can only see a fraction of the total memory available. However there are APIs since Win2K days which allow software to access memory outside of their 3GB user address space. Not commonly used outside of software like database servers, and nobody really cares anymore since the release of 64-bit versions.

Silly me... (0)

Anonymous Coward | about 5 years ago | (#29191195)

... Foolishing believing that you could only address 4GB with 32-bits... It's all a Microsoft conspiracy !

Re:Silly me... (2, Informative)

Icegryphon (715550) | about 5 years ago | (#29191261)

Only problem is since the Pentium Pro days to today it has been 36bits, AH-HA!

Great Article! (0)

Anonymous Coward | about 5 years ago | (#29191229)

No ads, all on one page, plenty of technical analysis and rigor. It was very relevant a pleasure to read.

I thought.. (1, Informative)

Anonymous Coward | about 5 years ago | (#29191237)

.. this was a very well documented decision that Microsoft made. http://support.microsoft.com/kb/929605 makes it abundantly clear that they stopped allowing access to > 4GB physical memory because they found a lot of the crappy consumer device drivers would crap out when they allowed that.

Sounds plausible to me and again it definitely is NOT an architectural limit simply based on the fact that 32-bit Windows Server 2003 does support >4GB RAM - the drivers for the server platforms happen to be written sanely.

Welcome to 2009 (0)

Anonymous Coward | about 5 years ago | (#29191291)

Who cares about the PAE hackery the past? Can you even buy a new computer today that cannot at least address a 64-bit memory space? This article is like a decade too late if it ever had any salient point to make at all.

Heck even windows XP is available on 64-bit platforms!

Just download and install 64bit (0)

Anonymous Coward | about 5 years ago | (#29191343)

It is free to upgrade 32bit vista to 64bit. It is same product, different installation media anyways. Same actication key works for both "versions". I am happy to have upgraded my old 32bit OEM vista home premium to 64 bit equivalent. Just get installation media somewhere (microsoft offers free download for non OEM customers). I have not encountered any problems because of this and I am mostly plaiyng games on vista.

license? (0)

Anonymous Coward | about 5 years ago | (#29191361)

Last time I checked, using software wasn't an exclusive right protected by Copyright. Why must you get a license to change a setting in the software that is legitimately on your computer?

Another kdawson special... (5, Insightful)

zjbs14 (549864) | about 5 years ago | (#29191433)

Why is /. greenlighting yet another article just for the sake of MS-bashing? Other posters have already pointed out the remaining process memory limits and consumer driver issues that make this a non-starter technically. Not to mention that there's not much (any?) consumer-level 32-bit hardware that has BIOS/Northbridge support for more than 4GB of RAM. Since the 64-bit versions don't cost any more, who cares?

But this guy is saying that Microsoft is doing something "illegal" because he was able to hack his system and enable PAE, even though MS charges extra for that in their server OSes. Is it "illegal" for Ford to sell me a car that's computer governed to 105 MPH even though the engine can get it up over 130? Can I complain to the FTC if I chip the car to remove the limit and then destroy the transmission?

Duh (0)

Anonymous Coward | about 5 years ago | (#29191445)

PAE is a shitty hack and should no tbe used by anyone. Use a 64-bit OS.

MS is right to kill it in licensing. Servers that are stuck in 32-bit land for some reason may need more memory, PAE is a necessary evil.
Desktop users simply can't be supported because of all the shitty drivers out there that assume a 4 GB upper bound.

Can I just change a registry entry? (1)

filesiteguy (695431) | about 5 years ago | (#29191557)

I didn't see it in the article - and got sidelined by the whole PAE thing - but I seem to remember changing my Windows NT 4.0 Workstation to NT 4.0 Server by simply loading the HKLM hive (from another machine) and changing one value.

Reading further.... ...oh yes: Kernel-WindowsMaxMemAllowedx86

Okay.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>