Hey where did /3GB go in Longhorn and Vista?


If you did not already know there is no boot.ini in Vista/LH.  So how do you set usermode space to 3GBs?

If you recall on x86 platforms there is 4GBs of addressable VM space.  So by default that is split up equally.  2GBs for kernel mode and 2GBs for use mode.  Now this is usually fine, but if you have a server that could use more usermode space like domain controllers, SQL servers, exchange sevrers, etc.  You could really use another GB for caching of the database in user mode.  Or you could suck it up and by an x64 machine.

In 2k3 you would do this by using the /3GB switch in the boot.ini which would split the VM, giving 1GB to kernel and 3GBs to user.  Allowing LSASS to cache more of the database on a domain controller for example.

So how do we do this in Vista and LH?  It’s actually pretty simple: 

BCDEDIT /Set IncreaseUserVa 3072

You do not have to specify the boot selection GUID.  If you do not specify, it will modify the current selection, which is what you want to do anyways.


 


 


Technorati tags: , ,

Comments (29)

  1. Anonymous says:

    Hacking Visual Studio to Use More Than 2Gigabytes of Memory

  2. Anonymous says:

    Hey Ofek, here is your answer:

    http://technet2.microsoft.com/WindowsVista/en/library/85cd5efe-c349-427c-b035-c2719d4af7781033.mspx?mfr=true

    And yes it is an exe:

    C:WindowsSystem32bcdedit.exe

  3. Anonymous says:

    Eduardo, the /3GB switchdoes not increase the physical memory that the OS can see it just splits the virtual memory up so that user mode prcoesses see 3GB of the VM space.  If you are having issues seeing all the RAM in your system, I’d check some of the forums on the internet for your desktop model.

    -Brad

  4. Anonymous says:

    Brad:

      I have the following situation:

        1. 4GB Asus P5W DH mother board.

        2. AMI Bios recognizes the 4GB

        3. WinXP recognizes the /3GB switch and ControlPanel=>System shows greater than 3GB

        4. Installed Dual boot with Vista

        5. Vista ControlPanel=>System shows 2 GB

        5. Executed bcdedit /set IncreaseUserVa 3072 successfully

        6. bcdedit now shows 3072 IncreaseUserVa

        7. reboot and Vista ControlPanel=>System still shows 2 GB

        8. MemWatch utility shows 2 GB as well.

        9. Reboot shows XP now (without /3GB sw) at 2 GB.

       10. Back to Vista=>bcdedit won’t let me change the XP IncreaseUserVa.

       Bottom line. 4GB installed and now neither XP or Vista recognizes greater than 2GB even though Bootstore says Vista IncreaseUserVa at 3072. Original XP used to recognize over 3GB,

       What am I missing here?

  5. Anonymous says:

    To boot into DSRM in Longhorn use MSCONFIG.  It’s under the safe boot options.

  6. Anonymous says:

    I imagine you were’nt running the bcdedit command via an elevated cmd prompt? 🙂

    For verification just type BCDEDIT at the cmd prompt and you should see the increaseuserva value listed.  If you want to know how to verify from the debugger than thats a differnet story.

  7. Anonymous says:

    Hi Raiden, to take advantage of that much RAM you should use an x64 OS.  The 3GB switch is for x86 systems, and wouldn’t help with a situation where you want to use 8GBs.

  8. Anonymous says:

    Hey Sharon, just find the command prompt link in the start menu and alt-click and choose "run as administrator"

  9. Anonymous says:

    I’d say just stick with the default of 2GB for Usermode and 2GB for Kernel.

    The only real reason to use 3GB is if you have an application that can take advantage of it, like a small SQL database or domain controller.

    If you find that virtual server is consuming a lot of usermode space then you could increase the USerVA space as much as you need.

  10. Abdul Rahiman says:

    I knew that there is no boot.ini file in Longhorn, however reading your blog raised a basic question..how about booting in DSRM and so? Above you explained that for booting in dsrm mode we can modify the boot.ini. How do we do that in Longhorn?

    And ahh your blogs are damn useful..thanks.

    Working in DCOPSESC-MS IT.

  11. Todd says:

    Brad-

    Thanks for this post! Can you recommend what configuraton I should use on a Vista laptop w/ 4GB of RAM running: Vista 32-bit, Office 2007, Virtual PC/Virtual Server, IE, etc…

    My main concern is will system services have enough memory to run well (e.g., SuperFetch).

    Thanks!

  12. chico says:

    When I run BCDEDIT… I get the following error. The boot configuration data store could not be opened. Access is denied.

    Any suggestions?

  13. CHICO says:

    I figured out my problem. But how do I verify the switch has worked?

  14. chico says:

    Thanks Brad for your help! It’s all working beautifully. Now, let’s say I need to remove or reset the switch (ie. get rid of increaseuserva when I go to BCDEDIT). How would I do this? I have a machine that I tested this on but now I need to get it back to the state it was in before I started tinkering with it.

    Thanks.

  15. AZSport says:

    How do I delete the IncreaseUserVa entry once set?

  16. Irvin Hayes says:

    To delete the entry use the following.

    bcdedit /deletevalue increaseuserva

  17. AZSport says:

    Worked great.  Thanks Irvin.

  18. ofek says:

    i dont understand

    what is BCDEDIT

    is it a program????

  19. Eduardo Salvio says:

    Brad,

    I used bcdedit, checked through cmd and it’s there; however, it does not show on task manager 4gb. I am using an Intel DQ965GF with latest bios updated.

    could you help what I should be doing wrong?

  20. JonBlok says:

    Thank you Brad for your patience and solid information

  21. sharon says:

    My 4G only read as 3 on a 32 bit Vista…common situ, I see…when I run BCDEDIT I get: The boot configuration data store could not be opened. Access is denied.

    You mentioned in a prior post running that from "elevated" command prompt…admit I’m clueless in this arena…help?

    Thanks…

  22. Sharon says:

    Can I connect my USB wireless aircard (Sierra 875U) to a desktop PC and the PC to a wireless router and use the connection for both my desktop & laptop? Or vice versa–aircard to router and ethernet to PC, laptop?

  23. raiden I says:

    should this work with 8GO RAM ??

    i mean could i take full advantage of 8go ram installed ???

  24. Lawrence Berger says:

    I am unable to use bcdedit I get permishion denied I am the Admin? Tried C: c:windows

    c:windows/boot

    Vista 32

    Larry

  25. Ste Cork says:

    Perfect, thx for this. Helps us out a great deal here when a particular mem-hungry commercial game engine kept running out of memory for non-programmers ( programmers seemed to have this set already somehow – maybe Visual Studio does it sneakily during install?). Whatever, worked fine, and gained our people nearly another 1GB to work with.

  26. Ana says:

    I have a CORE i7 with 8GB RAM and I am running Windows 7. How can I change the settings for my Visual Studio 2008? I tried this appriach and the command was not accepted.

    Thanks!!

  27. Ana says:

    I have a CORE i7 with 8GB RAM and I am running Windows 7. How can I change the settings for my Visual Studio 2008? I tried this appriach and the command was not accepted.

    Thanks!!

  28. Wish says:

    Great help. thanks 🙂

  29. Jon says:

    Would it be a good idea to use this in vista that has only 3GB of ram ?