PDA

View Full Version : out of memory...


awnold
09-09-2008, 06:35 PM
when saving a scene and saving changes to textures, I get an "out of memory..." error. Yes, I can see RAM fill up, but wouldnt the program at that point move to virtual and start swapping? C4D just refuses to finish the operation. I also get this error when using paint setup wizard and creating textures. Yes the textures are large and there are many, but im more curious about why the program gives this error instead of moving to the hard disk...
perhaps I can change some settings?
I have 3.24 gigs available memory with the /3GB switch enabled in XP 32.
Thanks!

Kuroyume0161
09-09-2008, 07:02 PM
The swap file does not act like extra memory if you already have it. It is a means to dump out memory of other applications while working in another for the most part (so-called paging). Unfortunately, too many people incorrectly equate the swap file with infinite 'virtual memory'. That is false. You have 4GB max (and, really, only 2 or 3GB max in Windows XP 32-bit) addressable memory space. If you have the maximum amount of real memory, virtual memory will give you nothing except maybe a bit more breathing room by paging out other application data.

The solutions:

* Don't use so much memory. Lower your undo levels. Use lower resolution image maps. Watch your HyperNURBS subdivision levels. Etc. and so forth.

* 64-bit OS on 64-bit hardware. At this time, their address space is practically limitless (5 Quintillion bytes) and most newer motherboards handle 8 or 16GB of memory onboard. You have Windows XP Pro x64 and Windows Vista 64-bit OSs as well as MacOS X 10.5 Leopard from which to choose (besides Linux versions which have had 64-bit for years).

awnold
09-09-2008, 07:13 PM
that about sums it up thanks!

oh and my available memory was posted above, max is around 3.24 is winxp 32.

Srek
09-09-2008, 07:30 PM
Check my website (http://www.bonkers.de/cinema/cinema.html#memory) on how much memory CINEMA 4D can use

DigitalBlaspheme
09-09-2008, 07:31 PM
You have 4GB max (and, really, only 2 or 3GB max in Windows XP 32-bit) addressable memory space. Though you are correct about ppl misunderstanding what the paging system is for, you are (at least in part) incorrect with the above quote. You have a max memory cap of 4GB in ANY 32 bit OS (be it windows linux or a mac) without resorting to nasty hacks you will never utilize more than 4GB of ram be it physical ram sticks or from your video card or other hardware

Example:

if you have 3gigs physical ram sticks and 1 gig of ram on your video card, do NOT go out and buy 1 more gig of ram....it will be usesless as you've already hit your 4gig max.

LucentDreams
09-10-2008, 05:36 AM
the Limit is 3 gigs and has nothing to do with your hardware. The OS limits 2 gigs to the kernel and 2 gigs to the applications out of the max of 4 gigs. Using the /3 gig switch will change that so that 3 gigs can be accessed by the app and 1 gig to the kernel, which for most users should be safe.

Oh, and on the Vista side of things be very very careful when purchasing a Vista OS for plans on use in a 64 bit environment, each version has different Memory limitations, that I'm sure are probably hackable, but wouldn't it be easier to avoid hacking?



Windows Vista Home Basic - 4 GB of RAM
Windows Vista Home Premium - 16 GB of RAM
Windows Vista Business - 128 GB of RAM or more
Windows Vista Enterprise - 128 GB of RAM or more
Windows Vista Ultimate - 128 GB of RAM or more

Kuroyume0161
09-10-2008, 06:06 AM
Thanks, Lucent.

DigitalBlaspheme, I actually said exactly that! No matter what, the addressable space of 32-bit architectures cannot be more than 4GB. Duh... What are you going on about? But, to be pedantic, you can't use more than 3GB on Windows 32-bit. It doesn't allow full 4GB allowable address space (but this isn't the case for ALL 32-bit OSs!!). So, even a 1GB ram stick added to your 3GB real memory won't do crap!

It is sad to see that a 64-bit OS like Vista Home Basic (is it really 64-bit?) only supports the 32-bit maximum. What use is that?

kojala
09-10-2008, 06:16 AM
and not all vistas that you buy are 64bit. I my self brought a laptop with vista(business) but it came with 32 bit os. I found out that I would have to separately buy a 64 bit version and install it myself. I think when you buy ultimate it comes automatically with a disk that includes 64bit version. and now im talkin about laptops or computer packages dont know
about custom setups.

shtl
09-10-2008, 07:33 AM
Thanks guys for the clarification :thumbsup:


I allowed myself to translate and quote you on the frenchcinema4d forum FAQ section (http://www.frenchcinema4d.fr/forum/index.php?topic=22658.0).

LucentDreams
09-10-2008, 08:05 AM
Thanks, Lucent.
It is sad to see that a 64-bit OS like Vista Home Basic (is it really 64-bit?) only supports the 32-bit maximum. What use is that?

Well Microsoft isn't being clear on it actually

It says 4 gigs here
http://support.microsoft.com/kb/946765

It says 8 gigs here
http://www.microsoft.com/australia/windows/products/windowsvista/editions/64bit.mspx

The 8 gig is probably the right one, but not sure.

awnold
09-11-2008, 09:22 PM
and not all vistas that you buy are 64bit.

All Windows Vista editions are available as either 32-bit or 64-bit editions, except for the Vista Starter edition.

http://en.wikipedia.org/wiki/Windows_Vista_64-bit_editions

thanks for pointing this out, I would cry if I bought a Vista32. Im gona cry anyways with a Vista install but it would make it that much worse...

DigitalBlaspheme
09-14-2008, 05:08 PM
the Limit is 3 gigs and has nothing to do with your hardware. The OS limits 2 gigs to the kernel and 2 gigs to the applications out of the max of 4 gigs. Using the /3 gig switch will change that so that 3 gigs can be accessed by the app and 1 gig to the kernel, which for most users should be safe.the limit is 4. If the LIMIT were 3, there would be no way you could throw in 3 gigs for the app and 1 to the kernal because the 'limit' would have been exceeded. As far as the hardware not having anything to do with it.......not really sure where you're getting your info on that. While its true you will not see the video memory listed as the available when you check your system (it will be listed in the video card part) while the memory on that card is in USE it is applied to that 4 gig limit. So if your video card is using all of its 1 gig of memory the MOST you can expect to use from your physical ram is 3gigs (not taking into account the ram used by the OS and your background apps)

All memory applies to this 4gig limit jsut because you have 4gigs of ram and then another 1 gig on your video card means nothing, the OS(technically the architecture not the OS) itself is limited at 4. If you expect the os to be limited to 4 gigs AND still be able to use all of the ram in your system (in this example 5gigs).....you need to make a change. A 32-bit operating system cannot address more than 4 gigabytes of ram, with some of the memory "mapped" to whatever hardware devices you have in your computer. In other words: In order for your computer to access the 1gig of memory on your graphics card, it needs to assign the card some memory addresses from your main system ram. OR you could think of it like this: While your using your video cards memory, there is an overhead from your physical memory that will be "unused". That last way of thinking is a bit flawed but expresses the correct idea.

SOMETHING TO THINK about:
There is a wonderful feature called PAE - Physical Addressing Extension (http://en.wikipedia.org/wiki/Physical_Address_Extension). With PAE, a 32-bit processor and operating system can address up to 64 gigabytes of RAM, provided that the processor and OS are PAE-compatible.

Microsoft knows about PAE. PAE is even available on some of their server OSes. But they don't make it available on XP and Vista because on Windows the hardware drivers need to support it, otherwise your computer doesn't start up. For windows there are several known PAE hacks, however I've only tested one so I can't vouch for them all, and while the one did work it wasn't as effectient as the real deal because I was still limited to 4 gigs. Some other 32bit OS's need not worry about "hacking" as they have PAE support, for those that don't I'm unaware of any "hack" to allow it.



DigitalBlaspheme, I actually said exactly that! No matter what, the addressable space of 32-bit architectures cannot be more than 4GB. Duh... What are you going on about? But, to be pedantic, you can't use more than 3GB on Windows 32-bit. It doesn't allow full 4GB allowable address space (but this isn't the case for ALL 32-bit OSs!!). So, even a 1GB ram stick added to your 3GB real memory won't do crap! No not really as a matter of fact you re-iterated our MAIN discrepency. You say you can't use more than 3GB on windows 32. This is wrong as a typical install of windows xp 32 bit right out of the box will register anywhere from 2 to 3.8 gigs of useable ram (depending on your hardware) which is a measurement of the available ram after mapping is done for hardware/os/apps/whatever else you may have. And to be extremely pedantic, what you actually said (and I'll quote) follows:

You have 4GB max (and, really, only 2 or 3GB max in Windows XP 32-bit) addressable memory space. Now I know what you MEANT, but what you meant and what you said are two totally different things. People that don't know might confuse what you put in parenthesis to mean that in windows xp you have 2 or 3gb limit while you have 4 in other 32bit os'. I was simply clarifying, which is probably why you said we said the same thing, we did, but to those that don't know I yelled tomato and you yelled tomatoe. If we were to say the same thing you'd have to reword to something along the lines of "With 4 gigs of ram installed the actual amount available for general use typically ranges from 2-3.8, depending on your exact hardware configuration."

As far as adding 1 stick of ram to a system that already has 3 and having it do "crap"......well thats just wrong but it really depends a lot on your hardware. Theres no need to even get to far into the examples with this cause this post was so long already (sorry guys). I will say, though, that even in a 32 bit windows environment that has not done a single PAE hack adding 1 gig to that 3 gigs will make a noticeable improvement but only if your struggling with ram in the first place. If you have 3 gigs of ram, some of it is still "mapped" for the OS and the hardwares use so you actually have about 1-2.8 useable.....how wouldn't adding 1 gig to that make an improvement? hell adding that 1 gig could allow you the same flexibility you'd experience except you could use alot better hardware.

Below is a table to show some POSSIBILITIES (it is not too to accurate because differences in type of memory used can spell the difference between say 40fps and 60fps, and thats not including differences in the other hardware).
- if I have 3 gigs of ram and a video card with 64mbs of ram, adding that 1 gig will show me a large increase in overal system speed.
- if I have 3 gigs of ram and a video card with 512 adding 1 gig of ram will only show me an increase in overal system speed I'd almost miss if I wasn't expecting it unless I was in a ram intensive program
- if I have 3 gigs of ram and a video card with 1 gig adding 1 gig would most likely show me an increase in overal system speed I probably wouldn't even notice unless running something that shows fps or I was in a ram intensive program

wbj
09-14-2008, 08:57 PM
Now I know what you MEANT, but what you meant and what you said are two totally different things. People that don't know might confuse what you put in parenthesis to mean that in windows xp you have 2 or 3gb limit while you have 4 in other 32bit os'. I was simply clarifying, which is probably why you said we said the same thing, we did, but to those that don't know I yelled tomato and you yelled tomatoe. If we were to say the same thing you'd have to reword to something along the lines of "With 4 gigs of ram installed the actual amount available for general use typically ranges from 2-3.8, depending on your exact hardware configuration."


Sorry, but this is nonsense or least the term "general use" is misleading: Contrary to OS X and Linux Windows XP32 uses a simpler (and much quicker) address translation mechanism by making the lower 2 GB of address space dedicated to user apps and the upper 2 GB dedicated to the kernel.

In other words: Without using the /3GB switch an application can use a theoretical max. memory space of 2 GB (in reality it is about 1.6 GB when using QTime and other extensions).

When using the /3GB switch a MAXIMUM of 3 GB can be allocated by the application (as the kernel address space is limited to 1 GB) - but in reality it will be much lower (due to QTime etc.).

Can your app use more than 3 GB on XP32 : NO, this is technically impossible (I'm not talking about PAE of Windows Server).

And that is the difference to OS X/Linux 32 bit systems. There the application can use more than 3 GB (theoretical max. is 4 GB, in reality it is about 3.5 GB).

Best regards,

wbj

References:
http://blogs.msdn.com/oldnewthing/archive/2004/08/16/215089.aspx
http://blogs.msdn.com/oldnewthing/archive/2004/08/06/209840.aspx
http://blogs.msdn.com/oldnewthing/archive/2004/08/05/208908.aspx
http://support.microsoft.com/kb/170756/en-us
http://technet.microsoft.com/en-us/library/bb124810.aspx

CGTalk Moderation
09-14-2008, 08:57 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.