Title : Enable 4GB of memory on Vista
Author : Alan McCloskey
Date : Tuesday, October 16, 2007


I need my 4GB!

Four Gigabytes is a lot of RAM for a workstation or gaming machine, but the industry has pretty much forced us into using this much (especially if you're a heavy user of Virtual PC).  Most applications today are 32-bit and only address 2GB of RAM at a time (like Photoshop), but we need more memory for all the other running goodies that are memory-starved.  Even though Vista runs on 1GB of RAM, 2GB is alot better, and 4GB will unleash its potential.

Unfortunately, users of the 32-bit flavors of Vista have to run through some hoops to see all of the new RAM they've upgraded to.  Even then, they may not see all of the RAM available because of various hardware issues.  This article addresses various methods so you can utilize that massive amount of memory.

All 32-bit Operating Systems can only physically address 4 gigabytes of RAM, due to the math involved (232 = 4,294,967,296).  Depending on your hardware, Vista may only see 3GB or 3.5GB of the total RAM installed, because there are some devices that are memory mapped.  The most common culpret of this type of device is a video card, which can use up to 512MB of memory for mapping.

Enable PAE mode
You can tweak Vista's core to add another 4-bits of addressing capability, but you must have a 64-bit capable processor (pretty much any processor made within the past two years like Intel's Core 2 Duo or AMD's Athlon 64).  Even though the math works out to address way more than 4GB (236 = 68,719,476,736), the operating system still has a cap (Windows Server can address anywhere from 8GB to 128GB depending on the flavor).

To force this new addressing method, you have to tell Vista to boot using this new parameter.  Vista no longer uses a BOOT.INI file as previous versions of Windows did, so you must modify the boot file using a built-in Vista tool called BCDedit. 

  1. Open a command prompt (Press Window key + R to open the Run dialog, and then type cmd).
  2. Press Ctrl + Shift + Enter to execute (this allows you to run cmd in administrative mode if you haven't already setup up a permanent admin mode).
  3. Type BCDedit /set PAE forceenable.

This PAE flag (Physical Address Extension) tells the Vista core to use an additional 4 bits of addressing, which in theory allows the OS to see all of the RAM you have available.  We're not out of the woods yet, because once you reboot you may find that Vista still doesn't see all of your RAM.  You can turn PAE off again by typing BCDedit /set PAE forcedisable or BCDedit /set PAE default.

Enable DEP mode
Also note that using PAE forces Vista to run theoretically slower, so you need to disable this feature if you go back to a lower amount of RAM.  Vista runs slower with PAE because of the new page-translation system being used.  By default Vista uses 2 cycles to address memory, and will use 3 when Physicall Address Extension is enabled.  PAE also supports advanced procesor features such as Data Execution Prevention (no execute), Non-Uniform Memory Architecture (NUMA), and hot-add memory.  PAE is automatically disabled when DEP (Data Execution Prevention) is disabled, so you must force PAE when DEP is disabled by running BCDedit again:

  1. Open a command prompt (Press Window key + R to open the Run dialog, and then type cmd).
  2. Press Ctrl + Shift + Enter to execute (this allows you to run cmd in administrative mode if you haven't already setup up a permanent admin mode).
  3. Type BCDedit /set nx AlwaysOff
  4. Type BCDedit /set pae ForceEnable

You can disable DEP by typing BCDedit /set nx AlwaysOn

Continued on next page...  

<< Back to the Guides
Page 1 of 2

It's Still Not Working. Now What? >>
Related Articles

  • Guides : Linux Firewall: Overcoming Email Server Problems
  • Guides : Get Flash Working on 64-bit browsers
  • Guides : How To Install Windows 7 From a USB Flash Drive
  • Guides : Change the Windows 7 Logon Background
  • Articles : Keyboard Shortcuts for Windows
  • Guides : How to Enable Command Prompt Scrolling from the Keyboard
  • Reviews : WindowBlinds 7 Review
  • Reviews : Verbatim Store n Go Micro 4GB Flash Drive Review
  • Reviews : Resident Evil 5 for PC Preview
  • Comments

    By Matt on Friday, July 25, 2008 9:54:55 AM
    Interestingly, I installed Vista Ultimate 32bit SP1 on my machine, and system properties reports all 4 GB of ram.... XP only reported 2.99GB. Any explanation for this?
    By Bram on Wednesday, August 06, 2008 2:10:51 PM
    Interestingly enough I tried the baove solution because my Vista Home premium was only reporting 3.5 GB of RAM. After following the above it now reports 2.99 to all apps although the 4 Gig shows in the system properties. I disabled both DEP and PAE and cannot get the RAM back that I was using for process before.... any suggections?
    By Adam on Saturday, August 09, 2008 9:24:45 AM
    Vista SP1 is smart enough to detect that you have 4gb installed, however, it can not use it all, take a look at your task manager (pres ctrl + alt + delete) and under the performance tab, you'll see a field under physical memory called, total, this field is how much ram your os has access to.
    By Kristof 070 on Thursday, August 28, 2008 3:38:58 PM
    Yeah , this realy works . i am now using 6 GB RAM , because the page file ( by me ) is 6373 MB .
    By Ricky on Sunday, October 19, 2008 9:59:07 PM
    @ BRAM I also have the same problem.. instead of getting 3.55 GB i know have 2558 MB thanks to DEP and PAE enabling and stuff.

    Horrible Guide. F++
    By alan on Monday, October 20, 2008 2:33:30 PM
    Please note that your mileage may vary depending on your motherboard, chipset, and other factors. If you got bad results, then don't blame this guide, blame your chipset. The only sure-fire way to enable 4GB or more is to use a 64-bit OS and modern chipset.

    Ricky: what is your hardware configuration?
    By Suhail Salman on Thursday, November 13, 2008 9:42:50 AM
    I should read the comments before the article :). The system is now reporting 3.55GB.
    anyone figured how to get this back?
    By Dan on Monday, November 17, 2008 2:44:38 AM
    This simply doesn't work. To get support for more than 4GB RAM, you either need to get any 64-bit version of Windows or Windows Server 2003 2008 32-bit.No matter what you do, Vista 32-bit will not address more than 4GB RAM.
    By walter on Saturday, November 29, 2008 6:57:26 AM
    Help i can't use internet explorer anymore because dep is turned of can't be turned on again ...
    By a different matt on Saturday, November 29, 2008 11:33:52 AM
    Question--does it help if a memory-intensive device (like a video card) has its own memory? I just ordered a 32-bit Vista SP1 machine with a 512 MB video card and 4 GB of RAM intuitively, it seems that a card like that would defer to its own memory and stay out of system memory, so I wouldn't have to enable PAE. Anyone have any thoughts?
    By darren on Wednesday, December 03, 2008 2:34:45 AM
    This guide didn't work after the PAE DEP step. Although I thought I'd give it a shot it didn't work. I'm not complaining though because it's still running fine.
    By Guido on Sunday, December 14, 2008 2:46:05 AM
    i have Vista Ultimate sp1 32 bits with 4 gb ram. i DISABLE in bios on-board card video cause i have an off board one with 512 mb.... otherwise all of 4gb should be available...justa an on board audio is enable.. my precessor is a Phenom Triple Core 8400 2.1 ghz .. and i havee memory remmaping at bios... but no more than 3gb is recognize by Vista..... just in BIOS appear 4 GB but not in Vista.... any clue for me:??? thnaks in advance and hugs from Brazil
    By Chris Bowling on Sunday, December 28, 2008 11:37:27 AM
    Hey Alan M.
    I followed your instructions as listed above and nothing happened. My computer(Vista Home Premium 32bit) does not recognize any additional RAM.
    Then I set the PAE back to default to get back where I started. Now, however, Internet Explorer will not run. It says to set the DEP settings but it won't let me. Says I'm not an administrator, but I am! PLEASE, can you help?
    Thanks,
    Chris B.
    By Greg M on Thursday, January 01, 2009 1:43:35 PM
    Chris B. I had the same problem with access, if you boot in safe mode (F8 at startup) then log in normal you can access BCDEdit through the start menu or C prompt
    By Matthew on Thursday, January 01, 2009 2:58:41 PM
    Sadly this doesn't work at all for me... My system could easily run 64 bit windows which sadly looks like the only way I'll get my 4 gigs of RAM to work
    By David on Friday, January 02, 2009 5:31:11 AM
    A 32-bit OS can only assign 4GB of address space. If you have 4GB of RAM, you're trying to have your computer use all available addresses on RAM, which would mean that nothing else in your system could work. Instead of letting this happen, the 32 bit OS will use the address space for devices and then assign what's left over to your RAM.

    If you have 4GB of RAM on a 32-bit OS, the more memory used by your devices, the less address space available for RAM. A 512MB video card gives you a max of 3.5GB available for your RAM, because there is 1GB less of address space available.
    By GEN-MIT on Sunday, January 04, 2009 9:34:12 PM
    Please this post. It returns atop of google search result for Ɗgb on vista'. Not only does it not work as intend on any machine my collegues and I have tried (6 different setups) but it also reduce 5 out of 6 machines memory to 2.8gb, instead of 4gb.
    By Phana on Sunday, January 04, 2009 10:27:58 PM
    I have found something like the above guideline in a forum. And I haven't tried out yet..cuz afraid of I can't go back. Then I check out in google and see this. I also have Vista sp1 ultimate with 4gb of Ram. In the welcome senter, in the basic information I see the Ram status is 4GB. But if I look in DirectX it show only 3326MB something like that. Does this mean I have to follow this guideline..?
    By El Gaijin on Thursday, January 08, 2009 5:14:33 PM
    There is no way to use more than 4Gigs on Vista 32bit. I have tried everything, all kind of setting PAE etc. The best approach was using Win 2008 Server kernel, but with this you need the Win 2008 Server license + Media Center wouldn't work.
    The only solution, get all 64bit compatible hardware and then get Vista 64bit. No way around.
    By Rick on Thursday, January 22, 2009 7:21:24 PM
    well i have good news this actually has boosted memory usage and has stabilized my system. with fingers crossed i rebooted, and it actually worked it took a little time, like a couple minutes but its a lot better tnx!
    By Nik on Wednesday, February 11, 2009 2:44:57 PM
    You can use Windows 7 beta 64bit
    By Geoff Chappell on Saturday, February 21, 2009 12:18:44 AM
    Enabling PAE will not by itself let 32-bit Vista see any memory above 4GB. The code is there for using memory above 4GB, but you are not licensed to use it. For details, see my article http:  www.geoffchappell.com notes windows license memory.htm.
    By Sam Ostroff on Friday, February 27, 2009 5:45:38 AM
    If you have a retail version (non-OEM, that is) of Vista, you can get a free 64 bit disc from Microsoft. Shipping is ten bucks, but it's any easier workaround to 4+ gb. Search the msft site for 64 bit upgrade.
    By Geoff Chappell on Monday, March 02, 2009 4:19:11 PM
    If you have exactly 4GB of RAM, then depending on your other hardware and configuration, 64-bit Windows may not see any more RAM than does 32-bit Windows. Moreover, since 64-bit code is bigger, what memory it does see, it won't use as efficiently. And there is still the problem of being directed to 64 bits by a fake limit.
    By Hoan Le on Wednesday, March 18, 2009 11:51:21 AM
    Vista SP1 will recognize 4GB. However, it won't operate with 4GB. Just use msinfo32 and you will see that the total physical memory still reports the number of ~3.3 - 3.6GB RAM.
    To make it works with >3GB RAM, the only way is to use 64bit OS.
    By Whazza on Saturday, April 04, 2009 8:33:27 AM
    Strangely enough, doesn't work for me...
    By dayle on Wednesday, April 15, 2009 3:28:14 AM
    I have exactly 4gb ram 2 modules of the same manafacturer and same speed 667 mhz 2 gigs each. my mobo supports 4 gigs and bios reports it accuratelt as well, but when windows starts i get a BSOD, even using this tutorial still gets me a BSOD when 4gb is attached.
    By ichae on Saturday, May 02, 2009 11:47:54 AM
    WARNING!!! If you are using BitLocker, Before using BCDEDIT make sure you have your bitlocker key on a USB external flash drive that you have handy or you will be unable to boot!
    By Dan on Tuesday, May 19, 2009 11:18:46 AM
    I tried entering the bcdedit set pae forceenable command and my computer tells me that "access is denied". I'm the administrator, why can't I do it?
    By Dan on Saturday, June 06, 2009 9:08:50 AM
    Really works and works well. Just gutted my computer and replaced everything. Got 4gb of memory, entered the command prompt entered the code and man did it take off...Love it
    By mynamesux on Friday, July 10, 2009 2:10:11 PM
    tested it on windows 7 7260.. no effect
    By Arnon on Saturday, August 01, 2009 7:38:26 AM
    Hi,

    I entered to commands as explained, they were all executed successfully.
    But, when I open the Windows Task Manager, it still shows only 3 GB (The Vista does find the 4 GB in the computer properties). Should I see something else in the Task Manager ?
    By forsamori on Friday, August 07, 2009 11:29:57 AM
    Apparently Vista Service Pack 1 enabled Vista to use 4GB. I have just upgraded my PC's memory to 4GB from 3GB. Vista recognises it being 4GB in the machine on system properties yet refuses to use anything other than 3B of it. Whats going on?
    By stuart08 on Wednesday, August 26, 2009 3:05:52 AM
    I was planning to upgrade my RAM from 2gb to 4gb. I use Vista 32 bit OS. But what I get from reading the above comments is that vista 32 bit will not recognise all 4Gb. So does it mean that in 32 bit OS we cannot have >3Gb RAM?
    By Alan on Wednesday, August 26, 2009 2:11:30 PM
    @forsamori: The short answer is yes, you will probably not be able to use > 3.5GB of RAM in Vista 32-bit. There are hacks that require using a Server 2008 core, but the safe short answer is: 4GB of RAM or greater should use 64-bit OS.
    By etherrealryan on Sunday, August 30, 2009 3:34:03 AM
    this is bulls***,whoever post (how to get 4gb ram in vista 32bit) don't know what he's doing,you won't get 4gb ram in vista 32bit,you need vista 64bit ,don't try this settings because it make your computer run slower and make some programs not working....get windows vista 64 bit.
    By Bob VanDyk on Friday, October 02, 2009 8:01:04 AM
    To boot the system and utilize PAE memory, the  PAE switch must be added to the corresponding entry in the Boot.ini file. If a problem should arise, Safe Mode may be used, which causes the system to boot using the normal kernel (support for only 4 GB of RAM) even if the  PAE switch is part of the Boot.ini file.
    By Bob Vandyk on Friday, October 02, 2009 8:05:18 AM
    III
    Presence of the  NOEXECUTE switch on a system with a processor that supports hardware-enforced DEP implies the  PAE switch. If the system processor is capable of hardware-enforced DEP and the  NOEXECUTE switch is not present in the boot entry, Windows assumes  NOEXECUTE=optin by default & enables PAE mode.
    By csd on Wednesday, November 18, 2009 3:25:45 AM
    Good article but missing some essential info: setting pae will ONLY work if your processor, chipset and BIOS support >4GB memory addressing. You need to check your system specs ...
    By Cryodragon on Wednesday, November 18, 2009 3:42:52 PM
    I have 4GB of Kingston PC 2700 184 pin Dual Rank RAM and Vista 64 Bit SP2. RAM is indicated in BIOs and In Vista, but after about 5 Minutes system will crash and shut down. Is This A Graphics card problem (VisionTek ATI Radeon 3650 1GB Card) or a OS problem? or a MOBO Problem (Abit UL-8) ( CPU Athlon 64 )? The System is 64 bit dedicated.
    By shocked on Monday, December 14, 2009 9:51:36 AM
    i'm shocked at the level of ignorance people have when it comes to extended memory switches. Microsoft disabled these features in none server OS for a reason. 32bit apps can only address 32bit worth of memory unless they are coded for PAE. for example SQL server is coded to use PAE but your average game isn't. If you need more than 4gb of ram just go buy a 64bit OS
    By johnny on Friday, January 15, 2010 11:30:19 PM
    this is what i run
    System NameTURKISHROYAL-PC
    System ManufacturerHewlett-Packard
    System ModelHP Pavilion dv7 Notebook PC
    System TypeX86-based PC
    ProcessorIntel(R) Core(TM)2 Quad CPU Q9000 @ 2.00GHz, 2001 Mhz, 4 Core(s), 4 Logical Processor(s)
    By turkishroyal on Saturday, January 16, 2010 12:21:48 AM
    this thing works
    By turkishroyal on Saturday, January 16, 2010 12:30:23 AM
    After running the command i rebooted,fine, everything seems t run like 3 times faster then it used to, its kinda scary cause i dont want it to fry.
    However, it does not show the total 6 gigs of ram installed, it still shows 3gigs. i didnt do the second step cause i dont know what it is. internet is faster so is restart and boot up by 5 times. Are these things normal?
    By Siegfried on Saturday, January 16, 2010 12:53:32 AM
    you FORGET to mention the side effect of these method!!! this is crap!! totally CRAP!!! FK!! now my vista have its WINDOWS AUDIO not working!!! asshls!!
    By joseph tran on Thursday, March 11, 2010 3:44:13 AM
    Just wanted to thank you this worked os see 4gig taskmanager see 3gig http:  support.microsoft.com kb 946003  explain where the one gig went to the graphics which can bee see on Performance Information and Tools on view and print details.
    By drew on Sunday, March 14, 2010 1:20:30 AM
    well, my HP notebook only has 3GB, so Vista in theory should not have been different by enabling PAE, but i enabled it through Ultimate Windows Tweaker, and now the thing boots and runs like a demon!!!!!!!
    By Giovanni on Tuesday, March 30, 2010 2:44:33 AM
    I HAD TO FILL IN THE SHELL:BCDedit set PAE forceenable and all other possibility,but the windows say me :denied access,what can I do?thanks
    By yart diskang on Saturday, May 22, 2010 12:31:16 AM
    i`ve tried your way... f***, still the same
    By Brandon on Wednesday, August 04, 2010 8:07:15 AM
    I built my computer in 2007 and I have been trying to find a way to use all my ram without spending another $400 bucks for Windows 7. This did not increase my RAM usage at all. Windows still reports that I have 2.8 GB RAM available, which is a lot to lose out of 4 GB.
    Comment on this article!
    Name:
    Email:
    Comment:
     
    All entries are logged and must be approved before publication.

    Random Gallery Images
    GET FREE HARDWARE!
     
    Sign up for our free newsletter and enter exclusive contests with great hardware prizes.  In addition, you get access to exclusive tutorials not available anywhere else on the site.
    Name:
    Email:
    Join the Facebook Club

    Follow on Twitter

    Add RSS


    [ search OCMS ]
     

    REVIEWS TECH NEWS
    GAMING AUDIO/VIDEO GADGETS

     
    Blog Posts
    How to switch audio tracks in Windows Media Player Sometimes it’s best to NOT connect with old friends on Facebook New Ad Pricing at OCModShop.com How to get Dante’s Inferno working on custom PSP firmware Final Fantasy XIII New OCMS Front Page Layout How to remove “My Web Search” from Firefox Xbox 360 interferes with PS3 video streaming The Proper Way to say 2010 Doing Endgame is Fine…Get Everything and You’re a Loser.

    site map | advertise | subscribe | privacy policy | RSS feeds

    Website design by Alan McCloskey. All content © OCModShop.com: 2001 - 2009, reproduction by permission only.