Node:Memory allocation problems, Up:Runtime problems



Memory allocation problems

Question:
I get the message "Memory allocation failed"

A generic limitation of SICStus Prolog is that it cannot use more than 256 Mb of virtual memory on 32-bit architectures. This is an artifact of the tagged pointer scheme that we use. We have plans for replacing the tagging scheme, but it's a long term project.

Under Linux on x86, the limit is 128 Mb due to the fact that Linux sbrk() returns memory starting at 0x08000000. So with a better Linux sbrk(), the limit would be 256 Mb there too. An experimental workaround for Linux is available from sicstus-support@sics.se.