Stack sizes

From: Tallys Hoover Yunes <931665_at_dcc.unicamp.br>
Date: Tue 13 Apr 1999 06:47:45 PM GMT
Message-Id: <199904131847.PAA19307@pinheiros.dcc.unicamp.br>
Hello,

   I'm using ECLiPSe version 4.0 and I'm facing the
following problem:

   My computer has 320 MB of RAM and 480 MB of swap
space. However, the "max_global_trail" flag reports
only 134,217,728 bytes.
   When I try to execute a program that uses more
than the latter amount of memory, I get an error
message like this:

*** Overflow of the global/trail stack in spite of 
    garbage collection !
The stack sizes are limited by the available swap space

   My swap space hadn't been used up when the program
aborted.
   Is there a way to overcome this problem ?

Best regards,
Tallys Yunes



[
Moderator's comment:

Normally you can increase that limit with the -g command line
option, e.g.

breeze: eclipse -g 300M
ECLiPSe Constraint Logic Programming System [kernel]
Version 4.1.0, Copyright IC-Parc and ICL, Sun Feb 21 18:37 1999
[eclipse 1]: get_flag(max_global_trail,X).

X = 314572800
yes.


On SunOs4 and on Linux you may hit another limit because these
systems have no means to reserve virtual address space without
reserving swap - we need that to reserve the address space into
which we later map actual memory pages if the stacks grow.

On these systems we use fixed starting addresses for stacks
which may limit the amount of growth. There is an undocumented
way of changing this address by setting an environment variable.
For example, to allocate really big stacks with current Linux
versions you can use

sheep: ECLIPSE_SHMBASE=0x70000000 eclipse -g 1500M
ECLiPSe Constraint Logic Programming System [kernel]
Version 4.1.0, Copyright IC-Parc and ICL, Sun Feb 21 18:37 1999
[eclipse 1]: get_flag(max_global_trail,X).

X = 1572864000
yes.
]
Received on Wed Apr 14 12:31:46 1999

This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:07:04 PM GMT GMT