Re: [GC] Evaluate memory use

From: David Mentré (
Date: Tue Nov 23 1999 - 16:53:38 MET

To: Damien Doligez <>
Subject: Re: [GC] Evaluate memory use
From: (David =?iso-8859-1?q?Mentré?=)
Date: 23 Nov 1999 16:53:38 +0100
In-Reply-To: Damien Doligez's message of "Mon, 22 Nov 1999 20:24:33 +0100"

Damien Doligez <> writes:

> What do you mean exactly by "maximum memory used" ? Is it the maximum
> amount of memory allocated from the OS or the maximum amount used to
> store useful data ?

After thinking about it, both of them. :) But yes, as a safe
approximation, the first case would be enough. Something like the
maximum of RSS info from ps, but gathered inside my program.

> In the first case, it's the current amount, unless you activate the
> compacter; in the second case, there's no way to get the right answer.

If I've understood the 2.02 doc, the compaction mechanism is disabled by
default. Right? So the below method is safe. Right?

> >Right now, I'm using Gc.heap_words, but it doesn't seem to be very
> That's the current size of the major heap, including overhead and free
> memory. You could add "control.Gc.minor_heap_size" (from the result
> of "Gc.get ()") to get the total size of the heaps.

Ok. Thanks.

[ another stupid attempt ]
> > let max_words_total = stats.Gc.minor_words - stats.Gc.promoted_words
> > + stats.Gc.heap_words in
> That just doesn't make sense.

:) I've never said I've understood the GC mechanism of OCaml. :) I'm
more used to the C language.

[ other question: wall clock time used by a program ]
> > I'm using 'Unix.gettimeofday ()'.
> No, there's nothing simpler. Is it not simple enough ?

Oh no. I've managed to use it. :) That's only because I must use the
Unix module solely on this purpose. It was just to avoid such use.

Thanks a lot for your answers,
Best regards,

-- --
 Opinions expressed here are only mine.

This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:28 MET