Saturday, February 7, 2015

Live with just 2GB RAM

I've been using my Miix 2 8 for a year now, daily, and it is my only computer. It is tiny but a power horse always with me. There was a single limit that had been annoying me though: the 2GB RAM. Some applications, mainly Lightroom and PowerDirector for photo and video, can not get enough memory from Windows 8.1 and they often interrupt their work in shortage of memory.

To work around this limit, I usually exit these programs after I edited all the photos and videos. This allows them to release all the memory they occupied for the editing work. Then I start them again to do the final conversion and rendering. Most of the time this trick works and they finish their jobs without interruption.

Finally, I found out how to let applications get whatever the amount of memory they need:
  • Go to Start, Apps, Windows System. Right click on "Command Prompt" and "Run as Administrator".
  • Type in "bcdedit /set IncreaseUserVa 3072". Return and reboot.

That's it! No more any memory problem and now everything runs smoother. If any trouble, you can revert this mod by typing "bcdedit /deletevalue IncreaseUserVa".

To verify these changes, type "bcdedit" and you will see:


So, 2GB is not the limit but 32-bit Windows by default will not allow enough memory to be allocated to some memory-eater applications such as AutoCad and FireFox etc. Now feel free to buy those $99 Windows 8.1 tablets and don't be scared away by their 2GB or 1GB RAM!

In a nutshell: by default, 32-bit Windows reserves 2GB of the precious 4GB address space for kernel (mainly drivers), leaving only 2GB for applications. Now applications such as Lightroom and Firefox are happy with 3GB.

[update] Now I use 2560 instead of 3072, because I encountered "Not enough space" error when I compile NDK apps in Cygwin.

6 comments:

  1. bcdedit /set IncreaseUserVa 307

    should be

    bcdedit /set IncreaseUserVa 3072

    ReplyDelete
  2. Can we do this to other configurations (3G/4G/...) with right ending number? Thanks. LRB

    ReplyDelete
    Replies
    1. According to Microsoft: any # between 2048 and 3072. The maximum address space for Windows 32 is 4GB, to go beyond that you may look into PAE. 3072 has been working flawlessly for me so I have no intention to play more.

      Delete
  3. Can I use it for a new tablet of one megabyte of ram?

    ReplyDelete
    Replies
    1. Yes you can and you should. As I understand it, it does not matter how much RAM your computer have. 32bit Windows can have only 4GB address space and Microsoft assign wrongly too much of the precious 4GB to drivers and leave too less for applications. So even if your computer have 3GB RAM, your applications can still use only 2GB if you do not do this mod.

      What if your computer have, say, only 1GB RAM, but you assign 3GB space for applications? If your applications use up the 1GB RAM, swapping starts, i.e., Windows will use your hard drive to emulate RAM and you'll experience slow down because hard drives are far slower than RAM. At least now your applications keep running without being limited to only 2GB.

      So, always do this mod as long as you run 32bit Windows.

      Delete