Blender 1.5GB memory limitation explained

edit: since the article is removed…

This post is for you if:
0. You are using Windows.
2. You have more than 2GB of physical RAM.
3. Blender crashes unexpectedly when the RAM usage reaches about 1.5GB.

This post is NOT for you if:

  1. Yours scenes are relatively simple and take up less than 1GB of RAM at any given time.
  2. You have very little physical RAM (Less than 1GB).
  3. Blender crashes for other reasons, ie unstable video drivers, software conflict…

Bottom line:
Get 64bit XP, Vista, or 7, and download 64bit Blender. All your trouble will be gone.
If going 64bit is not possible: Google the ‘/3G’ flag for XP or Vista. It will marginally increase your system wide application addressing space limit from 1.5GB to 2.5GB. The latest official Blender is compiled with LAA.

I don’t meet the 1Gig requirement, but I will read the article anyway.

mpan, thanks for that - how does it impact regular blender memory consumption and can such builds be used on Win XP/Vista that have not had their boot sequencer modified? Ie would it be safe to make that flag a default for the official builds?

Is a similar change needed for usage on Vista? nevermind, this link shows the changes needed …

http://en.wiki.mcneel.com/default.aspx/McNeel/LargeAddressAware.html

LetterRip

letterrip:
blender memory consumption pretty much stays the same with or without LAA and /3gb. the only difference is with laa+3gb, one can use more memory.

LAA must be used with the 3gb switch to make it effective.

more info: http://support.microsoft.com/default.aspx?scid=889654

edit: thanks for the link to vista :smiley:

This is great. Then fluid sim will work on higher resolution. I wondered why it crashed. This is great.

Now I wonder.

Can I go beyond my 2 gigs of memory so it uses my diskspace cache or does it do that automatically?

Can I write 3Gb value in boot.ini even if I have 2Gb?

Hmm, so the problem is not on WinXP?

. You are using Windows 2000, 32bit XP, or 32bit Vista.

This is extreemly useful, i never knew about the LAA build.

+1 for this being a sticky.

In theory, you can. You can have 1GB of physical RAM and Windows will attempt to get the other 2GB in the form of swap files(disk cache as you put it). But it will be extremely slow as the computer constantly access the harddrive.

3GB flag and and LAA build does squat for me, fluids still crash right at res 230. 229 and lower works.

Until there is a 64 bit windows build can this also benefit windows 64 users?

I made a little test to see if the 3gb flag with this build make it possible to sculpt more polygons on windows(I have allready tested the 3gb flag,but without the LAA build).
It seems that windows can allocate more memory(I have reached 2.7 gigabyte),but it’s not still possible sculpting the same amount on polys than linux(6.2 millions give a crash when trying to hide some polygons to work faster)

I updated the page. As you can see, using LAA builds on 64bit windows automatically gives you 4GB of addressing space per application. Which is still a lot better than the original 2GB.

Until a real 64bit blender comes out, 4GB is the best we can do on windows…


renderdemon, It’s interesting to see Linux working so well in this case. I had also found that Linux does not seems to have this memory limitation, even on 32bit.

How much physical RAM do you have?

I have 2 gygabyte,I was trying to use the swap file(I have 4 gygabyte swap file),the laa build works a bit better than standard blender without the 3giga flag(in that case I’m able to subdivide up to 6 millions,but when I try to go on sculpt mode it crashes,with the laa builds doesn’t crash,it crashes after when I try to hide poly),
Linux seems better,I think that with the latest builds,after the 2.44 release,the max poly count is something like 8 /9 millions.

After 2.5 is done megapoly might be the next big hurdle for blender to leap.

Okay folks, here’s a rather long explanation of the issues with Windows’s memory management that might help explain some of the issues that you are having. If you want a even longer overview, I recommend this excellent Anandtech article:

http://www.anandtech.com/gadgets/showdoc.aspx?i=3034

Here’s the over view. A 32bit system can, at the max address 4GB of memory (2 to the 32nd power to be exact). However, allot of this memory is used by Windows for various tasks, such as addressing devices, video, etc. So the maximum that any single process can handle in 32bit windows is 3GB. However, on top of this, some of this “process space” is reserved for various system functions, and so, somewhere in the 2GB usage range the application will crash. This is compounded by the fact that Vista takes even more of this space, so on (unpatched) Vista, it will be closer to 1.75GB. No matter how much memory you have this limitation is a design “flaw” and so adding more memory will not help. Swap will not help either.

Running a 32bit application on a 64bit system will allow you to run more copies of that application but each application will still be limited to ~2GB. IIRC, linux does not user this extra process space, or if nothing else, uses less, so you should be able to hit around 2.5GB on 32bit linux.

When it comes down to it probably your best bet for now is to get yourself a copy of 64-bit Linux (a livecd would work), mount your windows partition (Ubuntu does this fine) and go with that until a 64-bit build can be made.

And like I said, that Anandtech article is a must read.

thanks for the info mpan3! this will really be useful to me… i do need to upgrade my 256MB someday… :smiley:

EDIT: tbc++, the article was also very helpful… :smiley: thanks, too!

You can also buy 1 GB of RAM, use 3GB switch, and optimized LAA blender (it is faster then normal build). :smiley:
I have 32 bit Vista, 3 GB RAM, and LAA Blender runs faster and without any error with very large scene of fluid animation…

I have two gigs and a 4 gig swap. If I have any memory problems, I’ll try this out - but I’m not too eager to screw up Windows.

just wondering, is this 1.5GB limit experienced in commercial 3D apps?

Yes, it is a limitation of Windows, not Blender.