On Sat, Aug 27, 2011 at 2:01 PM, Helmut Eller <heller@common-lisp.net>wrote:
Is it necessary that we reserve such large areas at startup?
#define READ_ONLY_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */ #define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */ #define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */ #define CONTROL_STACK_SIZE (0x07fff000 - 8192) (about 128 MB)
Why are read-only and static space so large when a core file is less than 30MB? And why do we need such huge stacks?
Don't know why they're set to these sizes, but long ago, everything was much smaller, including a default heap of 64 MB or so (except on Linux which had more). I think Douglas set these defaults. I vaguely remember a few use cases where the (original) control stack size was too small. Perhaps now would be a good time to add command-line options to allow the user to set the sizes of the spaces like the -dynamic-space-size option. Perhaps we can lower some of these. I suspect the binding and control stacks could be on the order of a few MB. I think the read-only space needs to be fairly large if you save some large images like mcclim or maxima. (Maxima's RO space is 42 MB.) Not sure about static space; maxima uses about 5 MB of static space.
With such settings one needs at least 720MB to start. That's a problem unless overcommitting is enabled.
Does anyone really have less than 1 GB of memory/swap nowadays? For a long time my linux box had just 512 MB RAM + 1-2 GB of swap. Ray