Enable 4GB of memory on Vista

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).

thumb_bcdedit

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:

thumb_bcdedit_nx

  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

Advertisements

Just Say No To SuperFetch

Fetch, boy!

If you’re using Windows Vista, then you’ve probably noticed the new memory requirements. In Windows XP you could get away with 1GB of memory, with 2GB making it run much smoother. To get the same smooth experience from Vista, you really need to double the memory, due in part to some of the new services that Vista is running.

One of these new services is SuperFetch, which analyzes your program usage and pre-caches these programs to make them load faster. For most users (especially gamers) this is relatively useless, and just serves to waste more of the precious memory you’ve loaded up your PC with. This memory is even more critical in the 32-bit flavor of Vista, where most users cannot use more than 3.5GB of RAM, even if you have 4GB or more (read how to enable 4GB of RAM here).

How SuperFetch Works

After Vista loads its core, SuperFetch works by loading frequently used appliations and pages info a cache. Vista keeps track of which memory pages are frequently used (and which files they’re tied to) and will try to use up as much free memory as it can with what it analyzes you’re going to need soon. SuperFetch keeps a history of how often and when you run applications, which influences what is cached. This extra caching is what makes Vista’s memory requirements much greater than XP’s.

SuperFetch also monitors your current usage, so if it has to dump its cache for whatever reason, it will fill it up again once more memory is freed up. It can take a good amount of time to refill the cache, which means you’ll probably notice alot more hard drive activity even when the system is idle. Previously, hard drive thrashing usually meant that Windows was “reacting” to low memory by pushing pages to Virtual Memory, but now this activity could be “proactive”.

Caching “frequently used” libraries isn’t anything new. Even back in Windows 3.1 there were third-party programs that would cache DLLs in an attempt to increase system performance, but more often than not they ended up slowing the system down… it didn’t make sense to cache 4MB of DLLs on a system with only 4MB of RAM. Granted, SuperFetch is alot more intelligent, but the principle remains the same: you need memory above and beyond your normal usage to see any benefit.

In theory, you could cache your entire hard drive if you had enough RAM, but most PCs today only have about 2GB.

Do you need it?

If you’re a multi-tasker, then SuperFetch does have significant performance advantages, but you need butt-loads of memory. The performance advantages really only show themselves if you have more than 4GB of RAM, and because of that, you should be running a 64-bit version of Vista to see all of that extra RAM.

thumb_task_manager
In our testing SuperFetch only offers performance enhancement if you have 4GB of RAM or more, and even then you only shave off fractions of a second when loading programs. If you open up Task Manager you will probably notice very little Free Memory, and nearly half of it taken up as Cached.

Most of this cached information will be immediately flushed as you use your computer. If you’re a gamer, then there really is no reason to fill up your RAM with stuff you’re not going to use. Office users don’t really benefit that much, either, as any serious office user has frequently used applications in Startup.

Hi Ultimate Extras, we noticed you’ve been inactive…

———————————————————————
To: contact@windowsultimate.com
CC: steven.sinofsky@microsoft.com, bill.gates@microsoft.com, stevejobs@apple.com
Subject: [Automated reminder] Windows Ultimate Extras inactivity
——————————————————————

Hi there Windows Ultimate Extras,

This is an automated message to remind you it has been 81 days since your last activity on October 23, 2007 when you announced 19 languages packs for Windows Vista. Très Bien!

We’d like to remind you we’ve been eagerly awaiting more “cutting-edge programs“, “innovative services” and “unique publications” from you.

As a reminder, here is your current contribution so far in the last 12 months since Windows Vista Ultimate has been on the market.
– Windows DreamScene
– Hold’ Em Poker Game
– BitLocker and EFS Tools
– 35 Language Packs

In case you’re running a little short on ideas, here’s a few simple ones to help you get back on track.
– Premium high-resolution wallpapers pack
– Premium DreamScene videos
– Arcade or puzzle games (ex. Peggle)
– Windows Media Player 11 skins or visualizations
– Windows DVD Maker menu themes
– Windows Photo Gallery slideshow themes
– Extended free trials of Windows Live OneCare
– Premium Internet Explorer 7 add-ons

If you have forgotten how to get in touch with us, your customers, we’d like to remind you of your blog at www.windowsultimate.com which you can write on to keep us in-the-loop of any ideas or progress you’re making. Don’t be afraid to post smaller but more frequent updates.

Thanks, passionate Windows Vista Ultimate users.