I use  SBCL on amd64.
When I start with the parameter
sbcl -dynamic-space-size 7000
not as much memory as I would expect is provided as dynamic space.
The following expression always evaluates to 1024:

  (/ (-  sb-vm:dynamic-space-end sb-vm:dynamic-space-start)
   (expt 1024 2))

As a quick fix I modified the file

like this:

(!gencgc-space-setup #x20000000
                     7516192768   ;; <= I added this line
                     ;; :default-dynamic-space-size
                     #!+openbsd #x1bcf0000

                     ;; :alignment
                     #!+win32 #!+win32 nil #x10000)

Now I can allocate up to 7GB in my sbcl image.
Please note, that this change might interfere with the settings on openbsd and win32 platforms.

It took me a while to track this weird behaviour down to this file.
My previous attemps at modifying runtime.c brought no change. Eventually I figured out, that a header file that is generated during genesis had a hard limit of 1GB on my platform.

Regards, Martin

Martin Kielhorn
Institute of Photonic Technology, Albert-Einstein Str. 9, 07745 Jena,
Tel.: +49 (0) 3641 206 245
Randall Division of Cell & Molecular Biophysics, King's College London, NHH,
Guy's Campus, London SE1 1UL, U.K.
tel: +44 (0) 207 848 6519,  fax: +44 (0) 207 848 6435