generative modeling for Rhino
I have to work with Rhino 4.0 these days but I often encounter "out of memory" problem when Rhino use up 2GB memory because 2GB seems to be the default maximum for a 32bit software running on a 64bit win7 system.
I searched and found this article http://msdn.microsoft.com/en-us/library/windows/desktop/bb613473%28...
It' s about the 4G tuning and said to set the IMAGE_FILE_LARGE_ADDRESS_AWARE flag in the image header to make 32bit software use up to 4GB memory.
I also found a little tool, http://www.ntcore.com/4gb_patch.php
This is used to add that flag I suppose. I tried it on rhino 4.0 but still, it crashed when it consumes 2GB memory.
My question is, is it possible to make Rhino4.0 to use up to 4GB on Windows 7 64bit system? If the answer is yes, and how?
It's possible to use rhino4 at windows7 64bit.
by the way, windows7 32bit supports 4GB memory maximum. so if you add 2GB memory, you can't install win7 64.
Sorry, maybe I haven't made myself clear enough.
I am asking whether or not Rhino 4.0 could use up to 4GB memory on Windows 7 64bit system.
I am now running 64bit windows7 on a machine with 12GB physical memory, but the maximum memory that Rhino 4.0 could use is 2 GB by default because it's a 32bit software. I am just wondering if I could tune it up to 4GB according to the thread I mentioned above.
You misread the article on MSDN. It's about the memory limits of Win7 32bit.
On Win7 32bit. The OS can only address 4GB max. The system reserves 2GB for itself. This leaves 2GB for Rhino. The article describes how to free more memory (up to 3GB) by reducing the amount reserved for the system to 1GB.
On Win7 64bit there is no currently relevant limit to the memory the system can address. Each 32bit app gets the full 4GB, it can handle. The system resides in a memory space, the 32bit app is totally unaware.
I am using Rhino4 on Win7 64bit and had it hit the 4GB wall some times. So if you're running into a wall at 2GB, you're either running a 32bit OS or you don't have enough physical memory available.
You might hit 4GB with a single, complex operation, that eats up 2GB in one step. Then you'd see Rhino use 2GB and still hit the wall.
Thanks for your clear explanation!
I am quite sure that my working environment is win7 64bit on 12GB physical memory. When I run rhino5.0 or other 64 applications, it performs quite well and never hit a wall unless it consumes almost all the physical memory. However, for Rhino 4.0, 2GB seems to be a wall no matter how many times I tried. I got the info from the task manager on the column Memory(Private Working Set). Is this the column which tells the amount of memory a software consumes? or I misread the task manager?
Interestingly Rhino 4 seems to be able to use only up to 3GB of ram:
"Rhino 4.0 will address a maximum of 3GB RAM when running on 64 bit operating systems. The 64 bit version of Rhino 5 currently in development will allow significantly greater amounts of RAM to be accessed when running in a 64 bit OS."
Some more articles more or less confirms the same problem:
This memory problem seems to be incurable for Rhino 4. I too have this issue when running complicated Grasshopper definitions...
I can't believe, you just had me purposefully max out Rhino4 :D
Running Win7 x64, 8GB physical mem, no special configuration done.
I copy/pasted complex geometry. First paste pushed private memory from 2GB to just over 2.5GB and second paste hit the wall. You can see, private mem reached just about 3GB. Resource monitor shows overall memory consumption.
Taking memory fragmentation into account, I hit 4GB of reserved mem.
Private memory is memory actually in use. There are chunks that are free but may be too small to be reused by the app so you will never see 4GB there. I had Rhino crash with about 3.5GB of private mem. So 2GB is a very low limit.
Looks like I misread the task manager...
I tried the same test and look at the Working set column instead of Private Working Set column. It turned out the answer is 4GB.
Thank you very much for your help and your test!
Thank you for your test!
It turned out I misread the task manager. Your test could make that private working set quite high and really up to 4GB. The difference between Working Set and private working set is largely related to how we behave in rhino I suppose.