[Openmcl-devel] Limiting memory allocation

Jared C. Davis jared at cs.utexas.edu
Fri Apr 20 11:44:18 PDT 2007


Can I somehow instruct OpenMCL to try do a full garbage collection earlier?

I'm using the 070408 linux x86-64 image.  Since I have a dual core
machine, I'd like to run two copies of OpenMCL side by side for a
parallel make.  But I have only 1 GB of physical memory, and OpenMCL
seems to want to use 1 GB before it garbage collects, e.g., I
sometimes see the following message:

;;; Starting full GC,  1102970880 bytes allocated.

But if I have two instances of OpenMCL running (along with other
programs like emacs), then at this point I'm hundreds of megabytes
into my swap space and the system becomes very slow.  So, I think if I
could just get each OpenMCL to limit itself to 300-500 MB of memory, I
might be able to avoid this.

I've tried using some of the command line switches, e.g.,

exec "openmcl" \
   --heap-reserve 131072000 \
   --set-lisp-heap-gc-threshold 524288000 \
   -I "/usr/local/acl2/v3.2h/saved_acl2h.openmcl" \
   -e "(acl2::acl2-default-restart)" $*

But this doesn't seem to have the desired effect.  Maybe I'm using
these switches incorrectly, or I need to run some other commands once
OpenMCL starts up?


Jared C. Davis <jared at cs.utexas.edu>
3600 Greystone Drive #604
Austin, TX 78731

More information about the Openmcl-devel mailing list