March 18, 2002
Bad News

Bad news in C:


Bus error

Bad news in Lisp:


*A2 gc_alloc_large failed, nbytes=280.

   Generation Boxed Unboxed LB   LUB    Alloc  Waste   Trig    WP  GCs Mem-age

          0: 57283   186     0     0 235067080 325944  7229904    0   1  0.0000

          1: 39320  6773     0     0 188259968 536960 17584304 18257   1  0.5524

          2:  3299   557     0     0 15745952 48224 17745952 3299   1  0.0000

          3:  6655  1112     0     0 31712872 100760  2000000 6654   0  0.5008

          4:  3329   560     0     0 15877040 52304 17877040 3326   1  0.0000

          5:  9982  1945    71     0 48991072 152736 34892128 9994  28  0.6714

          6:     0     0     0     0        0     0        0    0   0  0.0000

   Total bytes alloc=535653984

That's what happens when cmucl runs out of memory.

I learned two things about cmucl's memory management.

  1. You can increase its memory with -dynamic-space-size=<megs> (but unfortunately I don't think there's any documentation of what the default is; I guess you have to read the C source).
  2. Its garbage collector is conservative(!). Well, actually, it looks like it has a precise heap representation but treats the stack conservatively.

So either Echo has a memory leak or cmucl has a memory leak or it's just using more memory than I would have expected or the default dynamic space size is unexpectedly small.

Posted by jjwiseman at March 18, 2002 11:50 AM
Comments
Post a comment
Name:


Email Address:


URL:




Unless you answer this question, your comment will be classified as spam and will not be posted.
(I'll give you a hint: the answer is “lisp”.)

Comments:


Remember info?