Behind the 4GB Memory Limit In 32-Bit Windows
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?"
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?
Mod me down, my New Earth Global Warmingist friends!
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?
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?
Remember, Slashdot does not have a -1 disagree moderation, and no, troll, flamebait, and overrated are not substitutes.
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.
FOX NEWS.com should be BANNED from television and internet. Have the Congress take it over and give us Truespeak.
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.
"When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
Buy a Mac, leave Microsoft and all their stupid crap behind. It's just not worth it.
My Linux boxes never have these issues. hmmm.
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.
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 :)
I say no more.
Seriously, there are no real technical reasons why we can't just run 64bit operating systems. Let's just stop selling 32bit ones.
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.
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...
A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
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.
Dewey, what part of this looks like authorities should be involved?
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?
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.
.. 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?
TOP DSLR Cameras Reviews of the top DSLRs
This sounds like more PAE shenanigans. Using PAE on 32 bit Windows has already been well covered by The Old New Thing.
... Foolishing believing that you could only address 4GB with 32-bits... It's all a Microsoft conspiracy !
No ads, all on one page, plenty of technical analysis and rigor. It was very relevant a pleasure to read.
.. 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.
What about loading the unaddressable space as a RAM disk, then telling the operating system to use it as "Virtual Memmory"? I've seen a possible solution here, but have yet to try it myself.
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!
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.
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?
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.
Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
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?
No sig, sorry.
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.
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.
...oh yes: Kernel-WindowsMaxMemAllowedx86
Reading further....
Okay.
The Kai's Semi-Updated Website Thingy
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.
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?
Read the article: Physical Address Extension (PAE) can access up to 64 GB of RAM.
Windows Server 2008 (32 bit) can access up to 64 GB of RAM.
The exact same PAE in Windows Vista (32 bit) is artificially limited to 4 GB.
Microsoft is artificially limiting the 32 bit version of their software to access only 3.2 GB of memory in order to sell the 64 bit version, when both can actually access up to 64 GB of RAM.
Nothing new - business as usual - "What is good for Microsoft is good for (corporate) America!"
Even 4GB is too much for 32 bit WinXP. The OS will only let any app. use a maximum of 2 GB.
Unless you enable the /3GB switch in boot.ini, which leads to other problems: your registry system hive must now remain smaller than 12 MB.
I say no more
So it's a licensing preference first, and -then- it's an architectural limit?
Interesting.
After reading through many of the many other pages on geoffchappell.com I can't help but feel he's one of the ones whipping the horses at the front of the anti-competitive & monopoly bandwagon.
Yes, we all know Microsoft is convicted monopolist, but sheesh, his website makes me want to break out my tin foil hat with all of his conspiracies!
And for the record, I know about PAE in 32-bit systems, and so do MS; and we both seem to agree it's total crap and should be hidden from the everyday user.
There are any number of expensive software products where features are licensed separately, and the only different between Fubar Basic and Advanced Fubar Enterprise is a license key. The basic product has the same binary, with some features disabled. It should be no surprise that Microsoft does this.
I work for a technology company and Microsoft partner that routinely does these same shenanigans. It's about testing. It costs a lot of money to put together larger systems and test them rigorously (our testing cycle is close to a year long).
It costs even more money to support said larger systems. When a customer with a large system has an outage, we have to reproduce the problem internally to figure out how to fix it. That may involve a lot of expensive equipment on top of the people time to set it up, configure it, load it, etc.
Our licensing and support fees are structured accordingly.
While XP x64 is dated I'm not sure I understand all the hate I see for it. I mean beyond the normal MS hate. (Oh and I hate MS too, got my card stamped at last weeks meeting. Hail brothers!)
As far as it goes thou on my Win desktop that I have I've been running XP x64 for a while now and it does just fine. Including games. And as a kicker it does it all with no swap file. Never even bitches about it unless the OS actually starts to run out of memory. Which I think has happened a grand total of once when I had like 4x Firefoxes open as well as a number of other things.
Until Win7 is polished I going to stick with XP x64 for my Windows machine.
Really, I know what I'm doing...Ohhhh, look at the shiny buttons!
I have 4gb installed on my Windows XP home SP3, yet, it only sees 2.49GB. It'd be nice if Microsoft could let itself see all the resources the computer can offer...
Just like that airplane seat, hotel room, rental car, theater ticket, etc... the same thing is sold for different prices according to willingness to pay. Just like senior discounts.
It's econ 101. demand curve pricing. if the demand versus price curve is actually curved with a long tale then maximum profit is achieved when a company is able to segregate consumers by willingness to pay. Your revenue is the are under the curve. and single price just gets the area of the larges rectangle you can place under the curve.
Econ 201: in second term economics we learn that the price demand curve is not actually a single curve but is a family of curves parameterized by the total number of units manufactured. So as the company is able to sell things at different prices to more people the entire curve shifts down, making it either cheaper for everyone, or mor profitable for the company depending who gets the benefit of the increased production.
even though it's galling to know the product you bought is just a dumbed down version of a beter one at no difference in manufacturing costs it may well be much cheaper than it would have been had they sold one thing at one price.
Of course it may be that your customers hate this. a few companies like Apple and Saturn use a more price fix model precisely because it fits their style of minimizing aggravation. But even they have college student or military discounts.
Some drink at the fountain of knowledge. Others just gargle.
Many server motherboards have more then 4 RAM slots. Many 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 MB of RAM with 6 RAM slots? Sure, we can even do it with 4 RAM slots if you can get 16 MB RAM modules. Most people do not do that. And most regular people have no need for 32MB or 64MB of RAM in their desktop. Win 3.11 jokes aside, 64MB of RAM should really be in the for servers not desktops.
The Kruger Dunning explains most post on
How is this possibly a troll? XP 64 IS terrible, Microsoft didn't even recommend its use outside of certain professional environments.
-- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
The loss is all microsoft's. My company uses Cisco VPN dialer which works on 32 bit Vista but not 64 bit. Year and a half ago, unknowingly, I purchased a new PC with 4 GB RAM and had to return it. I am back to my old PC which already has 2 GB RAM. I am in no mood to buy a new machine if it comes with memory limit which is only 50% more than my 7 year old PC. I will purchase a new PC when my company supports 64 bit Windows (At this point, I am not prepared to totally ditch windows. Too much legacy stuff). If it supported more RAM, I would have purchased a PC 18 months ago and would have been ready to upgrade to Windows-7.
My first "PC" was an IBM 360. Submitted jobs by batch and waited minutes or hours for the job to get queued and run.
I could go on, but will summarize and say I've used and abused everything from a Sinclair kit to large mainframes.
I can't remember ever NOT screwing around to get more available memory. Heck, I never met a UNIX kernel I liked...with default settings, at least.
At one point in my career, I knew more about things like QEMM (Quarterdeck Extended Memory Manager) than any human should.
One time, I edited "mploader", the script for Microsoft MultiPlan (Excel's grandad), on a Xenix system to increase the available memory from 32K to 96K. Could have gone higher, but the total system RAM was only 768K. The CFO had run out of resources on a spreadsheet he was building.
The point is this; finding ways to get more memory started Day One. TFA is old news at best and a waste of...wait for it....memory!
I am my own gestalt.
The 32-bit x86 CPUs can only access 2^32 bytes (4 GB) of physical memory. Windows and other OS's implemented work arounds like PAE (Physical Address Extension) which allowed the kernel to reserve part of physical RAM to use like a disk paging file. PAE worked, in a way, but the overhead of moving bits of memory from higher addresses to lower addresses (so the CPU could access the contents) and back was hardly worth the effort. Calling this a "licensing issue" is complete BS.
Seriously, what apps don't run in 64-bit Windows? I ask because I run 64-bit Windows at home and at work, and part of what I do is check our apps for compatibility. Here is a list of some of the programs I've tested and verified work in 64-bit Windows. This is not a complete list, just off the top of my head:
Matlab 2008, HFSS 11, ADS 2008, VMWare 6.5, Visual Studio 2008, Firefox 3.5, Thunderbird 2, Office 2007, Adobe Audition 3, Sony Vegas 8, Geovision Multiview 8.3, Winamp 5, 7zip, Sonar 8, Play 1.2.5, Textpad 5.2, PerfectDisk 8, Adobe Acrobat 9, Adobe CS3, Eclipse 3.3.2, Xming 6.9, IMGBurn, Cadence 16.01, Mass Effect, World of Warcraft, Civ 4, Galatic Civilizations 2, Team Fortress 2, and so on.
In total I have probably tested over 300 programs of all different kinds that work. By work I don't mean "Run with errors," I mean that run like they did on a 32-bit system.
The 32-bit compatibility layer in Windows is extremely good. More or less any usermode 32-bit software seems to run, nor problems. The only compatibility issues I've run in to are:
1) Drivers. All drivers have to be 64-bit. In general, these days most companies have 64-bit drivers out. However if you have a piece of hardware that you need and it doesn't have 64-bit drivers then you are SOL.
2) Programs that make use of a kernel mode component. If you have something like a virus scanner or firewall that needs a kernel module installed, that module must be updated to 64-bit. There is no 32-bit code in a 64-bit kernel, no exceptions.
3) 16-bit programs. MS has stated there is no 16-bit compatibility layer in 64-bit Windows.
So seriously, what programs are you finding that don't work?
This isn't relevant to netbooks for two reasons:
1) The netbooks don't support more than 4GB of memory. As such trying to find a 32-bit hack to access more than 32-bits of memory isn't useful.
2) The netbooks don't support PAE, the hardware hack that is needed for more than 4GB of memory in 32-bit. Thus none of these hacks would work.
So if you are running a 32-bit netbook, fine, you have to run a 32-bit OS and cope with 4GB or less RAM. If you run a desktop that supports more than 4GB of RAM in hardware, it also supports 64-bit, run 64-bit.
Surprised at the XP64 hating out there. When it was first released, drivers were in rough shape. Today, I've found most of the motherboards and video cards I buy have Server 2003/XP64 support - that covers 99% of the drivers I normally bump into. Heck, I even got my laptop running XP64. That was a bit of a treasure hunt compared to the typical build, but still.
Anyhow, had a different point to bring up... There are a few games and apps that don't - but for the most part it just works. For those that don't, many cases it is just a brain dead installer. (Hey Apple iTunes developers, I'm looking at you!) Turns out you can fix an installer where the people did not think to test/support XP64 by modifying the MSI installer to not rule out a properly patched version of XP64.
Download Microsoft's Orca MSI editor. (Find it in this CAB, or google for it) Look for a "LaunchCondition" property, probably set to "VersionNT64>=600" and modify it to "VersionNT64>=501". Shazam! Very good chance it will just work - at least the installer will not stop you from trying to run it.
Some people (Apple) still need to update drivers, etc... but more often then not it works.
+++ UGUCAUCGUAUUUCU
However these is the equivalent of the Rosetta emulator. Actually, there is far superior to the Rosetta emulator. It's called WOW64, Windows on Windows. It is a compatibility layer that allows 32-bit software to run on 64-bit Windows. It isn't an emulator, it is just a translation service. 32-bit apps run in their own 32-bit virtual space (per app) and the processor hops in to a 32-bit compatibility mode when executing them. WOW64 handles all translation calls to the 64-bit OS. Compatibility is essentially 100%, speed is 100%, and there's no extra stuff to load, the app runs side-by-side with 64-bit apps.
You can, and I (and many others) do run 64-bit systems with 32-bit apps on them with no problem. I don't even know or care which apps on my system are 32-bit. They all work just the same.
Oooh, my brain hurts.
What im wondering is why this is news....we were using PAE like a year and a half ago....and to be perfectly honest the entire conversation is irrelevant, if your a guy who needs to use 4gb of ram or more, than chances are you know about the 32 bit limit and the first thing you did was get a 64 bit OS.
To be honest i dont even know why windows 7 has a 32bit option, theres no need for it anymore, 64 bit has very good backwards compatibility, and in a couple years, 32 bit OS will be useless.
They should be selling the 64-bit version. They should be preinstalling the 64-bit version. People *shouldn't* be using the 32-bit version, becuase there's still a very real architectural limitation in the 32-bit version: a given process can only see 3 GB of memory, no matter how you set up your licensing.
That for an app to use more than 2GB of memory on a PAE enabled system, the app itself has to specially support and use AWE (address windowing extension). Only apps that are coded to do that can make sure of more than 2GB. Well those are extremely rare. MSSQL server is the only one I know of. Any other apps is still limited to 2GB.
No such problems on a 64-bit system. Each 32-bit app gets 4GB of virtual address space. That means normal apps can access 2GB of memory, any app flagged as large address aware can get 4GB of memory (programs like LaaTiDo can flag any app, though some will crash because of bad pointer math). Any 64-bit app will have access to as much physical memory as the system has, without any special coding.
Thus these days playing with PAE is silly. If you buy a desktop computer that supports more than 4GB, it also supports 64-bit. For that matter, if you buy a desktop computer period, it is almost impossible to get one that isn't 64-bit. So, if you need more memory, run 64-bit. If you don't, well then run whatever you like.
Big pet peeve of mine; then vs. than.
I agree with the intent of what you wrote. However, please note the following:
- what you wrote constitutes an incomplete sentence;
- semicolons are for lists, commas are for correlation.
People have gotten so lazy in their pronunciation, that they cannot determine which word they are even using. ...sigh
The specific thought that you wished to convey is obfuscated due to the following:
- the use of the comma is inappropriate as it introduces an unnatural pause;
- "are even using" is a split infinitive;
- the use of the noun "pronunciation" is inappropriate in this context unless you were reviewing an audio clip of the post or made an odd leap in logic.
Now I will leave it to other grammar nazis to trash the grammar in my post.
I RTFA and I have to say, I think the author is attempting to find a conspiracy where none exists. If the author had searched MS's website for information on PAE, he would have soon learned why MS decided to remove PAE, and thus support for more than 4 GB of physical memory, from XP SP2.
Why this is a non-story:
1) MS removed PAE in XP SP2 because of incompatibility with 32 bit drivers and resulting instability issues.
XP did support PAE before SP2. However, Microsoft received complaints from users regarding compatibility and instability issues resulting from the use of 3rd party 32 bit drivers. Many users were getting BSODs. It was only then that MS chose to remove PAE from XP SP2.
This decision makes quite a bit of sense. Manufacturers were unlikely to update drivers to include PAE support because, at the time, 4GB+ of memory was very uncommon, and relegated to power users who had a specific need for large amounts of RAM. The situation has since changed due to the plummeting cost of RAM, Vista's need for greater memory resources, more demanding applications, and Superfetch, which allows users to make use of idle memory to preload commonly used applications. My own experiences on Vista x64 show that programs start up significantly faster than in XP due with Superfetch enabled.
Now that 64 bit drivers can be had for pretty much all modern hardware, there is no reason to use a hack like PAE to support more than 4 GB of RAM. Most machines sold by Dell, HP etc. now include 64 bit Vista if the machine has 4 GB of RAM, which is now becoming standard.
See below for MS's explanation of the removal of PAE from SP2.
Source: MS Website, "Operating Systems and PAE Support", June 14 2006 - http://www.microsoft.com/whdc/system/platform/server/PAE/pae_os.mspx
Driver Issues Typically, device drivers must be modified in a number of small ways. Although the actual code changes may be small, they can be difficult. This is because when not using PAE memory addressing, it is possible for a device driver to assume that physical addresses and 32-bit virtual address limits are identical. PAE memory makes this assumption untrue.
Several assumptions and shortcuts that could previously be used safely do not apply. In general, these fall in to three categories:
Buffer alignment in code that allocates and aligns shared memory buffers must be modified so that it does not ignore the upper 32 bits of the physical address. Truncation of addresses information in the many locations this might be kept must be avoided. It is necessary to strictly segregate virtual and physical address references so DMA operations do not transfer information to or from random memory locations.
PAE mode can be enabled on Windows XP SP2, Windows Server 2003 SP1 and later versions of Windows to support hardware-enforced DEP. However, many device drivers designed for these systems may not have been tested on system configurations with PAE enabled. In order to limit the impact to device driver compatibility, changes to the hardware abstraction layer (HAL) were made to Windows XP SP2 and Windows Server 2003 SP1 Standard Edition to limit physical address space to 4 GB. Driver developers are encouraged to read about DEP.
2. Windows isn't trying to screw users over by purchasing a higher priced 64 bit version. Any retail version of Vista or Windows 7 comes with both the 32 and 64 bit installers. As others have mentioned, it's also possible to activate 64 bit Windows with a 32 bit OEM key.
3. PAE will not allow a single process to use more than 4 GB of RAM so a true 64 bit OS is still superior for programs that need large amounts of memory such as HD Video editing, editing of large images in Photoshop etc.
.
Why should I have to beg Microsoft to be allowed to use my own computer hardware?
People *shouldn't* be using the 32-bit version, becuase there's still a very real architectural limitation in the 32-bit version: a given process can only see 3 GB of memory, no matter how you set up your licensing.
Whereas the 64-bit version only suffers from limitations on available component drivers...
Windows was switched from displays RAM installed to displaying RAM in use after the whole 4gb limit + GFX using addr space caused users to freak out. (Where is my missing RAM).
Or you could just upgrade to 64bit hardware and software and stop trying to get around the limit with hacks that break things. Intel and AMD have been selling 64 bit processors for a long time now.
Simple question... Is PAE a reincarnation of LIM EMS, built into the CPU? (After all, the "I" in "LIM" stands for "Intel").
Windows 3.1x calc: 3.11 - 3.10 = 0.00
We have a first gen Heidelberg 9110 with Version 4 software ON THE PRINTER. Can't upgrade since each version upgrade (currently 7.0) costs $$$$ which is a waste of money for a printer that's near it's EOL. We have used the same Dell PC with Windows 2000 SP2 since 2000 when the company purchased both products. Vista 64 bit drivers currently are available for the 7.0 version PC driver only. Version 4 is good for 2000, maybe XP.
:)
So where did we spend our money? On THREE 250ppm b&w printers and a brand new Dell Studio PC with Intel Core i7 920, 6gb of ram, and Windows Vista 64bit OS. The problem is that this is to spool large files over as quickly as possible using PCL drivers. Variable addressing data per page. Times a few million, you get the idea of the number crunching. Only thing is we have a USB key with a license code to send this over to the printers for one PC. Can't use the old PC without ripping out the $30,000 license key and placing it back in the old PC to send files to the Heidelberg. Not an option at this point. Would Version 4.0 Win 2000 drivers work on Vista 64 bit? Haha, no. We could try the 7.0 64bit PC drivers (independent of the 4.0 software on the printer), but not sure they're all that compatible. Or downgrade to Windows XP 32 bit. Now you start to see the problem? We would lose half the ram on the PC if we downgraded and so a software hack might be useful in our case. Printer spool sizes do go up to 2gb from time to time and cause headaches with each page spooled around 100mb each. We can't wait 10 minutes sending files over. Personally, backwards compatibility is a dead issue if we get rid of the Heidelberg soon. Thrown over Niagara Falls preferably.
So, would all 6gb be helpful in this case? Would the hack help us spool large files?
In reality, how many people are actually going to have a single application that will need 3GB of memory. You need to be doing something like movie editing or sound recording to hit that limit.
Yes it does.
32bit Linux is subject to the same address mathematics as any OS. What you meant to say was that Linux uses PAE better than Windows can, true but most end users have never heard of it and it is not installed by default.
In Linux land we now have 64bit flash, java etc - there is no reason to stick with 32bit any more and with 64bit you can use as much ram as your motherboard can address. Linux drivers by their nature are 32/64bit ambidextrous.
I'm not gonna trash the grammar in your post because I don't notice bad grammar unless it's obviously wrong or gets in the way of the meaning of the post, but there's nothing wrong with split infinitives. It's a nonexistant rule that English teachers—and the people they tell it to—spread.
No existe.
True but what about a ton of concurrent apps? I sometimes run 2 virtualbox vm's in the background while running the usual work email client, web apps on the host. I'll usually be consuming close to 3gb of memory in that scenario.
A small vehicle used to carry a load and pulled or pushed by hand.
I think that meaning (of the noun) makes more sense (when verbed) in this context.
Goes even further than that. A given process can only use 2GB of memory, no matter how you set up your licensing, no matter whether you're using a 32-bit or 64-bit Windows OS, if the developers were stupid enough to not compile it as large address-aware.
"There is much pleasure to be gained from useless knowledge." - Bertrand Russell.
But then there are companies like canon who have not released any drivers for 64-bit windows. If you default to 64-bit, you may get a number of angry customers.
09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
For programs like MATLAB, the maximum amount of memory you can use for a session is more like 1GB under 32-bit windows. Funnily enough the same is not true for 64-bit Windows, or 32-bit Linux versions.
In Windows, one can invoke feature('memstats') to see just how much memory is available.
"Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
What's the problem? Just grab the source and recompile it.
Nathan's blog
I made the patch to the kernel at (bytes 0x30C43A and 0x30C47B for SP2), signed with a test certificate, set the necessary bcdedit configuration, and rebooted. It works and I now have 4GB where I once had 3GB. Everything seems to be working so far. Kudos to TFA. I always wondered why I couldn't find a technical limitation in the Vista binaries.
Semicolons are not simply "for lists". They are primarily used in place of a comma and conjunction for joining two complete sentences. When used in lists, semicolons aren't used after every item, as you did; they are used only if "compound items" in the list contain commas, in order to avoid confusion.
WHO NEEDS SHIFT WHEN YOU HAVE CAPSLOCK/ DAMN1
We'll probably be running 64-bit Windows by 2030.
WalMart.com lists 37 Vista desktops with a free upgrade to Win 7. 25 are 64 bit. Windows 7 Tech Upgrade
Client versions of Win32 will enable PAE to get the NX bit, but the HAL will block access above 4GB.
"I'm sorry PAE, I'm afraid I can't let you do that."
mod me funny
This thread, however, is a crowd of pedantics.
The server is temporarily unable to service your request due to the site owner reaching his/her bandwidth limit. Please try again later.
I've got 101 mod points and you can't have them!
I don't know what hardware your using... but all my devices have 64-bit drivers available.
I haven't had any problems using 64-bit XP.
You are forgetting about AWE, random google hit about it. (http://blogs.technet.com/rob/archive/2008/05/15/windows-memory-and-sql-server.aspx)
If you are deploying Windows Server 2008 in a production environment you are going to take a long hard look at your total cost of ownership. Doing so you will likely come to the conclusion that paying a bit more upfront for hardware and drivers certified as server grade is a worthwhile investment. Joe Sixpack is going to buy the cheapest gaming rig he can find at Frys and grab whatever drivers he can get off the web. Writing a decent 64 bit driver stack for Windows is not the easiest thing in the world. MS is cognizant of this fact and it would appear they are heading off a massive influx of OCA bug reports by not allowing the rank and file of the world to live dangerously. I, for one, applaud such efforts.
With HD cameras becoming increasingly cheap and common, and recording your own music with software synthesizers and samplers (making music has never been cheaper), plus a large portion of the (affluent) population choosing to do both, this comment can be filed away in the same box the fictional "640 kb is enough for everyone" quote resides in.
People already complain about harddisks - when it says "1 TB" on the box and they can only use 931. What do you think they're going to say when their system is loaded up with 8 GB because the sticks are just so damn cheap and they can only see 3 GB?
Well, it happens. It depends on how much data you load into memory :)
Nothing requires to keep all of it in memory, you can always swap it out, even with movie editing or sound recording.
Sometimes you just don't want to.
Sometimes you designed your software to load everything, and it works for years.
Then suddenly, someone presents it with a 100 times larger dataset, and it would process it, except for this pesky 4G (2G?) limit.
Patents Drive Free Software as Hurricanes Drive Construction Industry
This whole article is bull. Hacking over 4GB support with old DOS EMS type of stupid ways is no brainer. Just switch to 64bit OS. Practically every new computer (non-netbook or smartphone :P) supports 64bit OS.
64bit driver support is already good and when Windows 7 comes out it will become even better.
P.S. I have used 64bit Windows since Windows XP x64 Edition (based on w2k3srv) and even games worked with it and ran more stable than 32bit XP ever did!
After all, back in the days of 32-bit CPUs, boards that actually supported more than 4GB were extremely rare. High end server stuff only. By the time larger amounts of RAM became something the consumer could afford, well CPUs were 64-bit so it isn't an issue.
Today this is a complete non-issue with desktop PCs, or at least ought to be. Any desktop PC you can get your hands on that supports more than 4GB of RAM, also supports 64-bit. In fact I can't find ANY desktop PCs today that don't support 64-bit. So, if you need more RAM, run 64-bit. There is no reason to run 32-bit with PAE. It is slower, single processes don't get more memory, and 64-bit OSes are readily available. 64-bit apps also are sometimes faster due to the larger integers and more hardware registers in 64-bit mode. Even some that are heavily FP based (like Prime95) see a small improvement in 64-bit mode.
For Linux, just download the appropriate version. For Windows, if you don't have a 64-bit copy, just ask MS for one. They'll change your license to 64-bit and mail you the media for the cost of shipping.
I would wager that all the people bitching about this and/or claiming Linux doesn't have this problem have never tried or needed it. They likely all have desktops with 4GB or less RAM, since that is what is extremely common these days. Anyone who really does need more RAM will get a 64-bit OS, since that is a much better solution to the problem.
Why is this story even newsworthy?
Is it because most computer users are fucking retarded as fuck and don't know shit about shit?
Windows has a hardware abstraction layer, or HAL. Your computer's manufacturer provides your HAL. The HAL shipped in 99% of windows xp/vista systems allows only 4 gig of ram to be used. As noted in the article, this is a licensing issue. If a vendor wanted to sell you a vista workstation with 64 gig of ram, they could, as long as they work with microsoft on the licence and on the HAL.
Heres a good one: Im typing this on a dell latitude laptop. The HAL in the XP install is apparently capable of > 4 gig of memory, by way of PAE. But it's a moot point, as the machine now runs fedora.
The crux of the 4 gig issue is shitty and old drivers written by chimps and people with down syndrome. Put one of these badly written binary blobs into a PAE enabled system, and shit can (and does) go wrong.
Quite frankly, if you need to address > 4 gig of ram, you are probably doing something more than facebook/msn/email/flikr, and you should buy hardware which can address your requirements. Such as windows server 64 bit, or linux 32 bit PAE, or linux 64 bit.
Honestly, I don't know why this is even newsworthy. It's definetly not new. And isn't really worthy. I learnt this stuff back in the NT 3.5/4 days, and not much has changed under the hood in this regard.
Oh right, It just dawned on me. You all use pirated versions of XP and vista which don't come from any specific hardware manufacturer. LRN2!EATCOCKFGTS
Despite having 4GB of Corsair memory installed, I can't get Win XP Pro 32bit to see more than 2GB for the life of me. Not even 4GB - video memory - misc memory = ~3GB, just plain 2GB... P5Q mobo recognizes 4GB with memory remap feature on, but OS sees only 2GB. If memory remap is turned off, as advised for 32bit OSes, BIOS sees 2GB, and OS inevitably 2GB again... /PAE or /3GB switches have done nothing for me. This is hopeless...
Or virtualization.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
a given process can only see 3 GB of memory, no matter how you set up your licensing
This isn't exactly true. An application can address 4GB of memory, 2GB of which is kernel space (reserved for things like graphics memory etc) and 2GB of user space. A tweak can be applied to change the balance to 1GB kernel / 3GB user space.
I have an Asus P5B motherboard with the latest BIOS firmware installed. If I deactivate memory remapping in BIOS, when booting, only little above 3GB of RAM is displayed, although I have installed 4GB. Vista x64 or Windows 7 x64 can only see as much as BIOS sees, so not the full 4GB. On exactly the same hardware and settings, if I install Hackintosh, more precisely iDeneb, MacOS X can see the full 4GB of RAM. I think this is a little weird and I don't have an explanation for it. Also, /PAE on boot.ini on 32 bit Windows XP Pro doesn't work at all.
But if Microsoft defaulted to 64-bit, Canon would HAVE to release 64-bit drivers. (BTW, my Canon Pixma ip2000 printer works on Windows 7 64-bit. I can't remember if the driver came from Windows itself or from Canon Europe. Canon Europe always has better drivers.)
Peter predicted that you would "deliberately forget" creation 2000 years ago...
Some versions of Windows are rumoured to be able to have more than one program open at a time. As it is, even the XP machine I use at work seems to be able to run the 9 programs I have currently open just fine.
Tell me, why is it a problem that each of those 9 programs are limited to 3 GB each, limiting my current memory usage to 27 GB (theoretically - I only have 2 GB installed)?
Are you really advocating that already bloated programs like Outlook should be bloated even more, to take more than 3 GB?
It will be several years before your average desktop PC has RAM enough to even allocate 3 GB to each of 10-15 programs.
Earlier this year i read an article about a software ram drive which could use this memory - you put 8gig in xp - xp could only see about 3.7 but the ramdrive could then use the rest for a ultra fast ramdrive.
And no, i can't remember the link.
If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
If your system is going to use more than 4 GB of memory use the 64 bit version. I have 4 GB with 64 bit Vista and it has always ran smooth and very responsive. It is the same price if you buy the OEM or the upgrade.
Wow, really, truly the most blatant lack of RTFA I've ever seen on Slashdot. I just read the whole, very clear and convincing thing before coming to skim comments on +5.... and it's all full of "PAE is a hack, get 64-bit", "he found lots of buggy drivers", "it's to do with drivers", "Windows 2008 drivers must be signed"... all stuff that is discredited in the article. It's very obvious that the limitation in 32-bit versions is artificial and it's not to do with the "long tale" of the demand curve as one commenter ignorantly suggested. Seriously, have you all turned into... journalists? Just nonsense: plain nonsense. +5 Insightful?! LISTEN AND YOU MIGHT LEARN SOMETHING.
Or data processing, in the case of me or any of my users.
But in any case, manipulating video is something you see only rare specialized users doing?
I ended up saying screw it and went with Vista x64. I built a new system in January 2008 with 2x SLI 512MB card, and a 256MB graphics card for dual monitor support from when multi monitor SLI wasn't supported. I also had a TV Tuner and a Auzentech X-fi soundcard with 64MB of RAM on it. The system properties in Windows 32bit reported me having 2.5GB of RAM when I was running 8GB due to it only costing around $60 at the time.
I'm really getting sick of the crap that kdawson posts.
This is complete and utter crap. For anyone to write/post that article, you would have to have zero understanding of memory addressing. Guess what. 2^32 = 4 294 967 296. That means that a 32-bit processor can only handle 4 billion memory addresses, or 4GB of RAM. Clearly software written for 32-bit processors are only going to be able to access the first 4GB. How would you tell software or an OS where to look for something in the 6th gig? OH OH I KNOW! You'd write 64-bit software.
kdawson, you are an idiot, and a detriment to this site. DIAF.
...as the latest JVMs have a "compressed pointers" option that allows the 64-bit VM to be as memory-efficient as 32-bit. This option limits max heap size to 32Gb, but this should be plenty for even most huge applications, for many years to come.
BTW this optimization is a great advantage of all "managed" languages/VMs; it's just impossible for langs like C/C++. Of course, you've got to actually implement it in a JIT compiler like Java's. But I think even an interpreter could do it. Notice that there is no tradeoff to code speed; although the code needs a couple extra instructions to compress/uncompress pointers at every usage of heap objects, this overhead is greatly reduced/hidden by JIT optimizations. (And for an interpreter, it's certainly just noise in the performance map.) Not to mention that the gains in reduced paging, cache misses and TLB misses will more than compensate for any remaining overheads.
If I saw a process using anything close to 3 gigs of ram, I'd probably kill it.
if Microsoft defaulted to 64-bit, Canon would HAVE to release 64-bit drivers.
Microsoft doesn't default to anything, because Microsoft doesn't sell computers. Moreover, Vista and Win7 both come with licenses to install both 32 and 64-bit versions with the same product key, so this fellow's argument about licensing issues is moot.
It's the hardware sellers like Dell & HP that would need to install 64-bit OSes by default, but they won't do that just yet because people are still mostly buying computers with 4GB of RAM become more common. But every month/year they can put it off is another month/year for old devices to die and be replaced with more modern devices with existing 64-bit drivers. That means fewer "[Perform 30 minutes of generic troubleshooting steps] followed by [we're sorry, you need to contact the device manufacturer]" calls they'll receive, and fewer people returning their new PC because of unmet expectations, however misguided.
https://www.eff.org/https-everywhere
They should be selling the 64-bit version. They should be preinstalling the 64-bit version. People *shouldn't* be using the 32-bit version, becuase there's still a very real architectural limitation in the 32-bit version: a given process can only see 3 GB of memory, no matter how you set up your licensing.
There is one very real exception to this rule, in the current market: the netbook. Netbooks tend to have less than 2GB (or only 1GB if Windows is installed - once again MS licensing greed) and the Atom is currently a 32-bit processor if I'm not mistaken. Could be wrong, but even so netbooks and people who specifically *need* 32-bit should be the only ones buying it. Almost all new computers being sold have 64-bit processors regardless of memory installed - why preinstall 32?
Windows has detected an undetectable error.
If you want to support this site, consider donating to Geoff Chappell: http://geoffchappell.com/viewer.htm?doc=support/index.htm&tx=3