CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > CFX

Available memory VS physical memory

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   March 26, 2009, 18:09
Default Available memory VS physical memory
  #1
Member
 
^_^
Join Date: Mar 2009
Posts: 36
Rep Power: 8
Jasmine is on a distinguished road
Hey,

My PC has 4GB memory, WinXP OS, 2.13GHz, Intel(R) Core(TM)2CPU. But when CFX-solver is running, the task manager shows the folloing informatin for Physical memory: Total - 3405568K, Available -913378K, System Cache-734628K. The CPU usage is around 50%, PF usage 2.37GB.

I try to change the memory allocation factor to 1.1 or so, but error message, like out of memory appears.
Jasmine is offline   Reply With Quote

Old   March 27, 2009, 06:16
Default
  #2
New Member
 
Join Date: Mar 2009
Posts: 7
Rep Power: 8
Siva_aero is on a distinguished road
Hi Jasmine

wat is ur mesh size? and ur RAM is it 4GB? u can go up to memory allocation factor of 1.5, but to be honest based on our experinece windows workstations with 4 processors can handle only a mesh size up to 1.5 Million max
Siva_aero is offline   Reply With Quote

Old   March 27, 2009, 06:50
Default
  #3
Member
 
Join Date: Mar 2009
Posts: 44
Rep Power: 8
Timon is on a distinguished road
32bit or 64bit XP? 32bit only supports 3GB of ram, the extra GB is not functional in that case.
Timon is offline   Reply With Quote

Old   March 27, 2009, 14:06
Default
  #4
New Member
 
Join Date: Mar 2009
Posts: 9
Rep Power: 8
CycLone is on a distinguished road
Actually, 32 bit only supports 2 GB per process (2^31, with 1 bit for the sign). The 3 GB limit you mention is the addressable space for the OS.

Physical RAM has nothing to do with addressable space. The operating system allows processes to address virtual memory, which it then moves between the disk and RAM depending on how recently it has been used and the available RAM.

On 32 bit machine, the call to memory, malloc(), can accept a 32 bit signed integer, meaning that one bit is the sign (+/-) and the other 31 bits the size, hence the 2 GB limit. The signed integer par is actually a hardware limitiation, so a 32 bit OS running on 64 bit hardware can allocate 2^32 or 64 bytes of RAM.

In practice, because CFX manages its own memory, the solver will allocate all the required memory in a single malloc() call. When this call is made, the OS must return a single contiguous chunk of RAM, so the practical limit may be less than 2 GB if there is a lot of other stuff in memory and the OS cannot find a large contiguous chunk. Windows is notorious for this because of DLL's it preloads into memory. Typically the maximum available memory is about 1.6 to 1.9 GB, but I have seen it as low as 900 MB!

All that said, did your job run without changing the memory allocation parameters? If not, what did the message in the OUT file say?

-CycLone
CycLone is offline   Reply With Quote

Old   March 27, 2009, 14:39
Default
  #5
Member
 
^_^
Join Date: Mar 2009
Posts: 36
Rep Power: 8
Jasmine is on a distinguished road
Thanks for you guys'r replies. Yes, I am using Window XP32.
Finally I run the code without change the allocation factor (the default setting is 1). in the out file, I found this info. is this what your mean by out file,CycLone?
+--------------------------------------------------------------------+
| Memory Allocated for Run (Actual usage may be less) |
+--------------------------------------------------------------------+
Data Type Kwords Words/Node Words/Elem Kbytes Bytes/Node

Real 19998.3 24.24 9.25 78118.2 96.94
Integer 27448.3 33.26 12.70 107220.1 133.06
Character 200.0 0.24 0.09 195.3 0.24
Logical 10.0 0.01 0.00 39.1 0.05
Double 300.0 0.36 0.14 2343.8 2.91
Jasmine is offline   Reply With Quote

Old   March 29, 2009, 22:48
Default
  #6
New Member
 
Join Date: Mar 2009
Posts: 9
Rep Power: 8
CycLone is on a distinguished road
Hi Jasmine,

This is the normal output of the solver. Did you get an error message? If it failed, there will also be an error message indicating whether the solver:

i) could not allocate the required memory, or
ii) did not allocate enough memory.

If it is i), you need to reduce the memory allocation factor (try .9, then .8 and so on). If it is ii), then you need to increase the allocation factor (1.1, 1.2, etc.). There is no guarantee you'll still be able to run, but if you are close to having enough memory then this should work.

-CycLone
CycLone is offline   Reply With Quote

Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Superlinear speedup in OpenFOAM 13 msrinath80 OpenFOAM Running, Solving & CFD 18 March 3, 2015 06:36
Memory error? Young CFX 3 September 30, 2008 11:33
OpenFOAM 13 Intel quadcore parallel results msrinath80 OpenFOAM Running, Solving & CFD 13 February 5, 2008 06:26
Out of Memory Naghman Khan FLUENT 3 August 30, 2007 06:08
CFX CPU time & real time Nick Strantzias CFX 8 July 23, 2006 17:50


All times are GMT -4. The time now is 09:59.