[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
5312 Conventional memory exhausted
Explanation: This is an "out of memory" message that indicates that
the CA-Clipper application no longer has sufficient conventional memory
available to continue.
Specifically, this error occurs when the virtual memory system needs to
swap a virtual memory segment out of conventional memory and it has used
all expanded memory and disk space that has been made available to it.
Action: Make more virtual memory available to the application.
This can be done by making more expanded memory available by increasing
the E setting of the CLIPPER environment variable or by making more disk
space available by increasing the SWAPK setting of the CLIPPER
environment variable.
This problem can also be resolved by reducing the size and/or number of
strings and arrays that are active at any one time. Probably the most
common cause of this error is the declaration of extremely large arrays
(e.g. LOCAL aArray[4096][4096]). Note that every array element requires
memory to store (even if its value is NIL) and that the number of array
elements in an array element requires memory to store (even if its value
is NIL) and that the number of array elements in an array is determined
by multiplying the number of elements in every dimension and adding the
sum of all dimensions except for the last. For example, a 4096 by 4096
array as (4096 x 4096) + 4096 or 16,781,312 elements.
Because every array element in CA-Clipper requires 14 bytes, this
amounts to 16,781,312 x 14 or 234,938,368 bytes -- well in excess of the
theoretical capacity of the virtual memory system.
Note: There is no benefit gained by reusing arrays. CA-Clipper is
much more efficient when strings and arrays are thrown away and rebuilt
often rather than kept around unnecessarily for long periods.
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson