Memory Allocation Errors
This page describes the situations in which Maple stops executing due to memory allocation issues.
The Error Messages
Memory Limits
The following messages are generated when Maple determines it is unable to or should not allocate more memory from the system.
Maple was unable to allocate enough memory to complete this computation.
Maple tried to allocate a large block of memory, but it was unable to do so. The current computation was interrupted, but the kernel was not stopped. This should be considered a warning that Maple is close to shutting down due to memory limitations. It is advisable to save any work before continuing.
Execution Stopped: Memory allocation failed.
Maple could not obtain more memory for its normal operations. This means that the available memory is completely used and Maple cannot continue without allocating more memory. In this case, the kernel has shut down.
Maple has two types of memory limits: software limits and hardware limits.
Software limits are imposed by the -T command-line argument, the datalimit argument to kernelopts and system imposed user limits (for example shell limits).
The hardware limit is the amount of physical memory available on the system.
Possible Solutions
If Maple is generating the allocation failed messages because it has reached a software limit, you can avoid the messages and complete the computation by increasing or removing the software limits.
If Maple is generating the allocation failed messages because it has reached a hardware limit, then more physical memory must be made available to Maple. Shut down other programs so that Maple can access more of the system's memory, or add more memory to the system, either by adding RAM or by increasing the amount of virtual memory.
It is recommended that you rearrange your computations so as to use less memory. Large data structures assigned to global variables cannot be released for reuse. If large amounts of memory needed in the initial stages of a large computation are not required during later stages, ensure that Maple can reclaim this memory by unassigning any global variables to which the data may be assigned. For more tips on how to reduce memory consumption in your computations, see also efficiency.
See Also
define_external
efficiency
gc
mserver
Download Help Document