Featured Post, Tips and Tricks

How To Enable More Than 4GB Memory in Windows Vista and Windows 7

Windows-4-GB-More-RAM

This article is written for 32 bit operating systems. Unless explicitly mentioned, Windows 7 and Vista refers to the 32 bit edition of the respective Operating Systems.

Couple of months back, I had blogged about a peculiar Windows 7 issue which could cause a BSOD (Blue Screen of Death) if the system had 4GB (or more) RAM. I managed to find a fix for that issue. But, I had another minor niggle to figure out. Although I paid for 4GB of RAM, Windows refused to use more than 3GB. If you have 4GB or more RAM then you are probably familiar with the following screen.

Windows-7-Vista-3-GB-Usable

Computer Properties displayed installed memory as 4GB but at the same time stated that only 3 GB is usable. So, where did the remaining memory go?

As it turns out, chunks of your RAM are reserved for various purposes and are not available to the operating system. For example, PCI Express support will reserve 256-768 MB depending upon the graphics adapter. Due to this Windows always displays less than 4 GB RAM as the amount of usable memory. Depending upon your hardware, anywhere between 2.75 GB and 3.5 GB of RAM will be available to the OS.

But, what if you have more than 4 GB RAM? Even on a system with 32 GB RAM, 32 bit editions of Windows will display less than 4 GB of memory. This is a known limitation of the Windows Vista and 7 x86 editions.

Microsoft claims that it is not their fault and is instead a limitation of the 32 bit architecture. At first glance this seems correct. 32 bit processor using 32 bit registers should be only able to address up to 4 GB of RAM (232 = 4G). However, this is not actually true. The main reason being a feature called Physical Address Extension (PAE).

PAE makes it possible to address more than 4 GB of memory using 32 bit registers, since the registers aren’t used to store the physical address. Instead, the registers store linear addresses, which are mapped to physical addresses using the page table. This feature has been available since the days of Intel Pentium Pro. In x86 processors additional address lines are provided so that up to 64 GB can be addressed when using the PAE mode. If you want to learn more about Windows memory addressing, go through Geoff Chappell’s notes.

Windows Vista and 7 have two kernels – one which doesn’t use PAE and one which does. They are NTOSKRNL.EXE and NTKRNLPA.EXE respectively. Both of them reside within the Windows/System32 directory. Can you guess which one you are using? If you have a modern machine, then chances are that Data Execution Prevention (DEP) is enabled in your system and in that case you are already using the kernel with PAE enabled.

How to Enable More Than 4 GB Memory

Before getting started, keep in mind that this patch involves modifying the kernel. Do no proceed unless you are confident. Most security products will identify these patches as malicious since they modify the Windows kernel.

Download the appropriate patch for your system (links at the end of this post). I haven’t tried the Windows Vista patch, but I can confirm that the Windows 7 patch works. The Windows 7 patch is in Russian language. To begin patching click on the big button (refer to screenshot). After this a command prompt window should appear. Press Y.

On restarting the system, you should see two entries in the Windows Boot Menu – one being the older configuration and the other being the one with support for more than 4 GB RAM. If you don’t want to be prompted every time, press Win + R, type msconfig and hit Enter. Under the Boot tab, reduce the timeout value (to something like 3 sec). If you wish, you can simply get rid of the older configuration by deleting it. But I wouldn’t recommend this. If you get a water mark (Test Mode) on your desktop after restarting, type mcbuilder.exe in the Start Menu and press Enter.

Windows-Vista-4GB-RAM-Patch-
Windows Vista Patch
Windows-7-4GB-RAM-Patch-2
Windows 7 Patch: Step 1 (Click on the button)
Windows-7-4GB-RAM-Patch-1
Windows 7 Patch: Step 2 (Press Y)

This patch will allow the OS to use more than 4 GB of memory. However, it does have a limitation – more than 3 GB of memory cannot be allocated to a single application. This patch is mainly targeted at systems with more than 4 GB of RAM. However, in some cases installing this patch on 4 GB systems will also lead to an increase in available memory (which may not necessarily result in performance improvement). This may appear to be a bit strange since Windows 7 and Vista are technically capable of addressing up to 4 GB of memory. Obviously, there is a logical explanation for this behavior. But, I won’t discuss it here. Refer to Geoff Chappell’s notes on Physical Memory Map if you wish to explore the issue in detail.

Warning: The patches described in this article are kernel patches. They may result in unexpected hardware issues and expose your system to malicious exploits.

Download Links:
4GB Memory Patch for Vista 32 bit (SP1 and SP2)
4GB Memory Patch for Windows 7 32 bit

[Image Courtesey: Brajeshwar]

Tags: , , , ,

129 Responses to “How To Enable More Than 4GB Memory in Windows Vista and Windows 7”

  1. On December 18, 2012 at 11:27 pm ppc professionals responded with... #

    nice I didn’t know there was a fix for that.

  2. On December 27, 2012 at 3:06 pm Sony Goraya responded with... #

    hmmmm great method i will try it :)

  3. On February 18, 2013 at 4:09 am Doug responded with... #

    Installed the patch on my DELL Windows 7 and it worked like a charm. It now addresses most of the 12 gig. I can load several program at once which I do with 3 screens with plenty of memory left over. Before I was using upwards of 80% of my available memory.

  4. On February 27, 2013 at 2:30 pm manuel responded with... #

    will this not work for 7 64 bit ???

    • On February 27, 2013 at 5:14 pm yowanvista responded with... #

      Seriously? 64-bit versions of Windows 7 can address up to 192GB of RAM

      • On February 27, 2013 at 9:20 pm manuel responded with... #

        well mine says only 3.12 usble out of 6.00 gb my max is 8 gb on a foxconn gm3302

        • On February 28, 2013 at 2:02 am yowanvista responded with... #

          It’s because your board has the GMA 3100 integrated graphics which is using part of your RAM as shared video memory and chipset limitation. From what I’ve seen this board with the default BIOS can only address up to 4GB of RAM. This has nothing to do with Windows, the issue is your BIOS.

          Your board uses the G33 Chipset which technically supports up to 8GB but Dell used (I assume you’ve got a Dell because they’re among the few using that board) a BIOS which limits the max RAM to 4GB. Moreover Dell states that each memory slot on that board can hold DDR2 PC2-5300,DDR2 PC2-6400 modules with a maximum of 1GB per slot.

          Basically only 4GB can be ‘seen’ by this BIOS revision. Check if there’s a BIOS updates that allows the full RAM to be addressed.

          • On March 1, 2013 at 1:41 am manuel responded with... #

            I have a evga nvida geforce 440 1 gb video card runs smooth as is but just though it would be better with the full 6 gb of ram I Been playing bf3 lately and it get laggy every now and than I think is my ram though idk

          • On March 1, 2013 at 1:44 am manuel responded with... #

            O and there is a gm33 1a and 2b motherboard one is 4 gb Max other is 8gb Max its not 4gb Max I have no I don’t have a dell got the motherboard from eBay and built my desktop from ground up spent close to 450 on everything just saying

  5. On February 28, 2013 at 3:52 pm Romy Jee responded with... #

    Will This Work On Win Xp 32 bit…

    • On March 1, 2013 at 1:54 am yowanvista responded with... #

      No it won’t. Moreover XP is 10 years+ old. Upgrade to at least Windows 7 64-bit.

  6. On March 1, 2013 at 1:57 am yowanvista responded with... #

    @manuel, adding more RAM does NOT increase performance, it will only allow the system to run more apps at the same time. The GT440 is a low end card, you can do almost nothing to improve its performance. That system of yours needs to be replaced if you want better performance.

    BF3 is more GPU intensive, it will require a midrange card like the 660Ti/AMD equivalent and a decent processor from the Intel i3/i5/i7 series for best results. You can’t expect it to run at nice fps with such a dated system.

    • On March 1, 2013 at 2:04 am manuel responded with... #

      I mean it runs fine I’m thinking about upgrading the gpu but idk I wanted a basic gaming PC for under or around 500 that I can build but as far I know it runs fine I got 28 to 35 fps on bf3 lately which is fine with me I would have to find a gpu that’s a gddr5 that’s the only that I know would fit in the mobo

      • On March 1, 2013 at 9:51 am yowanvista responded with... #

        A better GPU wouldn’t really improve performance since you’ll have a huge bottleneck especially with your current LGA775 processor which is dated.

    • On March 1, 2013 at 2:09 am manuel responded with... #

      http://www.evga.com/Products/Product.aspx?pn=02G-P4-2668-KR is the one I like that’s a 660 series lol my wife likes this one as well but she have a 9800gtx + in her desktop she doesn’t do much gaming though lol

  7. On March 3, 2013 at 1:17 pm Alessio responded with... #

    How uninstall the patch?

    • On March 3, 2013 at 4:19 pm yowanvista responded with... #

      System Restore

      • On March 3, 2013 at 4:25 pm Alessio responded with... #

        I turned off the system restore. Any other ideas? Pleaseee…

        • On March 3, 2013 at 6:19 pm yowanvista responded with... #

          Try SFC or a Repair Install.

  8. On March 5, 2013 at 8:06 am manuel responded with... #

    @ yowanvista just want to let u know I figured out how to unlock my full 6gb of ram my computer runs a lot faster and smoother had to update BIOS and remove ram don’t know why just seen it on Google search thought I would do it and it worked

  9. On April 2, 2013 at 3:27 am @crznbye responded with... #

    Only result is BSOD. I’ve tried several utilities and all with the same result – BSOD.

Trackbacks/Pingbacks

Add your response

More in Featured Post, Tips and Tricks (44 of 82 articles)