Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: [GC] Evaluate memory use
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: David.Mentre@i...
Subject: Re: [GC] Evaluate memory use
Damien Doligez <Damien.Doligez@inria.fr> 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,
david
-- 
 David.Mentre@irisa.fr -- http://www.irisa.fr/prive/dmentre/
 Opinions expressed here are only mine.