[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Static Space filling up
Date: Sun, 24 Jan 88 13:34:05 PST
From: luria@renoir.Berkeley.EDU (Marc Luria)
From @kl.sri.com:CMP.SLUG@R20.UTEXAS.EDU Mon Dec 21 22:16:23 1987
Received: from ucbvax.Berkeley.EDU by renoir.Berkeley.EDU (5.58/1.25)
id AA27797; Mon, 21 Dec 87 22:16:08 PST
Received: from KL.SRI.COM by ucbvax.Berkeley.EDU (5.58/1.26)
id AA13301; Mon, 21 Dec 87 22:16:01 PST
Received: from R20.UTEXAS.EDU by KL.SRI.COM with TCP; Mon 21 Dec 87 22:13:09-PST
Return-Path: <DLA@DIAMOND.S4CC.Symbolics.COM>
Received: from DIAMOND.S4CC.Symbolics.COM ([128.81.51.3].#Internet) by R20.UTEXAS.EDU with TCP; Mon 21 Dec 87 18:23:09-CST
Received: from KOYAANISQATSI.S4CC.Symbolics.COM by DIAMOND.S4CC.Symbolics.COM via CHAOS with CHAOS-MAIL id 152689; Mon 21-Dec-87 19:21:25 EST
Date: Mon, 21 Dec 87 19:21 EST
From: David L. Andre <DLA@diamond.s4cc.symbolics.com>
Subject: Static Space filling up
To: luria@renoir.Berkeley.EDU
Cc: slug@r20.utexas.edu
In-Reply-To: <8712201938.AA19559@renoir.Berkeley.EDU>
Message-Id: <19871222002111.5.DLA@KOYAANISQATSI.S4CC.Symbolics.COM>
Resent-Date: Mon 21 Dec 87 22:07:45-CST
Resent-From: CMP.SLUG@r20.utexas.edu
Resent-To: SLUG.;@KL.SRI.COM.CMP.SLUG@R20.UTEXAS.EDU
Resent-Message-Id: <12360396847.36.CMP.SLUG@R20.UTEXAS.EDU>
Status: R
Date: Sun, 20 Dec 87 11:38:07 PST
From: luria@renoir.Berkeley.EDU (Marc Luria)
The static space starts filling up. After cold boot, show gc status
shows 11 million, but after a week or so, this gets up to 14.
si:full-gc gets rid of a couple thousand. I don't think it
is due to this broadcast process bug. I think it has something to do
with recompiling a lot. From what I understand the compiled-function-area
is a static space. Is there anyway to gc this area?
Or is there another area which may be filling up?
The problem cannot be compiled-function-area, since that is not
reclaimed by full-gc. Compiled functions can be reclaimed using the
:Optimize World command. Why don't you use the ROOM function and find
out for yourself what areas are filling up?
I did check, and it seems the main culprit is STACK-AREA
?
This has gone from 2912K used a couple weeks ago, to
6848K today. Whereas the type of other regions is List or Struc
New of Static, the type of the stack region is Stack. I assume
that is not garbage collecting the stack space of processes
which have been killed. Is there a way to gc this area?
We had a problem here where the stack space was filling up but it when
from about 14M to 40M (this could happen in 15 minutes). The problem
ended up being caused by two problems (both were consumers of the stack
area). One was a site defined broadcaster server being envoked several
times a several times a second. It in turn recreated several processes
via process-run-function (part of the system code for default handling
of broadcast servers). You can look at the variable
SI:PROCESS-RUN-FUNCTION-SPARE-PROCESSES and see if you have more than 3
to 5 processes. When one of these processes gets created initially you
lose about 32K to 64K of static space. We fixed the problem
temporarily by changing our broadcaster server function definition so
only one process was created and it loaded a queue that another process
handled.
Another problem we found was a routine that would automatically grow the
stack if it overflowed. A function was walking over a data structure
recursively and it would sometimes bomb out because of a lack of stack
space. To keep this from happening an error handler was created that
would grow the stack and then let the function continue to run. This
was okay until our data structures grew. The problem was fixed by
creating a more iterative function.
-- David D. Loeffler