Skip to content

To 32 or not to 32 on Windows 7

by on May 5, 2011

Finally I got 8 GB of RAM on my laptop. That’s a great thing, especially that I have free licenses to pretty much whatever Microsoft has as x64, except that I’m married and this is not quite my laptop, but my wife’s. If you ask anyone on the planet, you are to find out that she has all the brains and the beauty in our home; after all, those who can do, will do, and those who cannot do, will teach.

To cut it short: I have Windows 7 32-bit installed on my laptop and I want to access all the RAM, without installing Windows 7 x64. How hard can it be? Just run the following at the command prompt:

BCDEdit /set PAE forceenable 

 

Of course, the command executes successfully, and after the reboot I’ll be able to access all the memory, right? Wrong.

Okay, Google is my friend and I search how to access all the memory on a x86 platform. So I get some interesting posts:

http://msdn.microsoft.com/en-us/library/aa366778.aspx – this article tells me that the absolute maximum memory that I can access is 4 GB in my case. Of course, they must be wrong, so let’s try another post that actually helps me. After all, they are Microsoft, what do they know about Windows?

http://blogs.technet.com/b/markrussinovich/archive/2008/07/21/3092070.aspx – there’s this guy, Mark Russinovich that explains at a very technical level why I cannot access more than 4 GB of memory on my machine. Very misleading title of the article, and of no help for my caseJ.

http://www.unawave.de/windows-7-tipps/32-bit-ram-barrier.html?lang=EN – finally! So I can actually do itJ.

Key takeaways:

  • You can enable access to more than 4 GB; it’s a licensing issue, not an architectural issue. But because you can does not mean that you should
  • If you do it, chances are that your apps are not aware of how smart and sexy you are – this is definitely true for SQL Server. So, if you want to use more than 4 GB for SQL Server (say, 6 GB, as in my case), you need to do the following:

Enable the Use AWE to allocate memory checkbox, and specify the memory to use (6X1024 MB = 6144 MB) in the Maximum Server Memory text field. That’s it.

One word of caution: I did not test this, so I have no idea whether is actually working or not; I advise you to do the same thing I do: simply switch to x64 architecture, especially that we’re talking servers and licensing issues here.

Best regards,
io

Quick edit: you do the same by using sp_configure sproc. You simply neeed to enable the advanced options, set the AWE Enabled to 1, and set the memory for Max Server Memory.

From → Uncategorized

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: