[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

garbage collection granularity

This is a question about the granularity of garbage collection.
I'm running clisp-30-05-96 on Solaris 2.5.

My understanding is that when the available freespace is
too small, a garbage collection is invoked. If this GC fails
to free up enough memory, more pages are requested from the
OS. If the GC frees up lots of pages, these are returned to the
OS. I observe the memory size of clisp both increasing and
decreasing, which is consistent with this.

The effect I'm observing is that as the memory size of the lisp
program increases, it spends more and more time garbage
collecting. I suspect what is happening is that the garbage
collection is being done just as frequently, but is of course
taking longer to perform.

What I would like to be able to do is say (something like) "when
you get or give memory from/to the OS do it in blocks of 1MB"
(or some other big number). Then the garbage collections should
only occur when this 1MB is exhausted, rather than the
page sized block. Ie the frequency of garbage collections should
reduce. (It does currently allocate in pages?)

I did try the -m memsize command line arg, but as the manual page
says, it seemed to be "essentially ignored".

Looking through spvw.d, I got confused -- primarily 'cause I can't
read German. So I couldn't determine whether it was possible or not.

Perhaps I'm way off base, and my theorizing above is incorrect.
Anyhow is this possible, or won't it help?


Nathan Sidwell                    The windy road is more interesting
Chameleon Architecture Group at SGS-Thomson, formerly Inmos
http://www.pact.srf.ac.uk/~nathan/                  Tel 0117 9707182
nathan@pact.srf.ac.uk or nathan@inmos.co.uk or nathan@bristol.st.com