[racket] Profiling memory use

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Thu Feb 13 17:42:27 EST 2014

There is the sgc collector and there is the --enable-backtrace option to
the 3m (default) collector. They can require some work to use, tho. They
give you more information from dump-memory-stats, I believe (not sure
exactly the status of sgc, tho).

Do you find tactical (collect-garbage) calls to actually help?

Robby



On Thu, Feb 13, 2014 at 4:35 PM, Daniel Prager <daniel.a.prager at gmail.com>wrote:

> Makes sense.
>
> So -- correct me if I'm wrong ;-) -- my main choices are to use a
> Custodian to impose a hard memory limit, and/or throw in tactical
>  (collect-garbage)'s to help keep usage down.
>
> In terms of profiling where the memory is going, are there any sharper
> tools than (current-memory-in-use)?
>
>
> Thanks again
>
> Dan
>
>
> On Fri, Feb 14, 2014 at 9:24 AM, Robby Findler <
> robby at eecs.northwestern.edu> wrote:
>
>> Yes. DrRacket does it. You'd have to use lower-level operations, tho
>> (setting up a custodian with a limit before starting the program you want
>> limited).
>>
>> Robby
>>
>>
>> On Thu, Feb 13, 2014 at 4:22 PM, Daniel Prager <daniel.a.prager at gmail.com
>> > wrote:
>>
>>> Thanks Robby
>>>
>>> Can the limit be imposed programmatically, for use from the command-line?
>>>
>>>
>>> Thanks
>>>
>>> Dan
>>>
>>>
>>> On Fri, Feb 14, 2014 at 9:13 AM, Robby Findler <
>>> robby at eecs.northwestern.edu> wrote:
>>>
>>>> current-memory-use is counting all of DrRacket's memory and the user
>>>> program memory. The limit, however, includes only the user program's memory.
>>>>
>>>> Robby
>>>>
>>>>
>>>> On Thu, Feb 13, 2014 at 4:05 PM, Daniel Prager <
>>>> daniel.a.prager at gmail.com> wrote:
>>>>
>>>>> Apropos:
>>>>>
>>>>> I was wondering why I couldn't limit memory in a Racket program
>>>>> directly -- for running from the command-line -- as distinct from in Dr
>>>>> Racket, but the following transcript shed doubts on Dr Racket:
>>>>>
>>>>> Welcome to DrRacket, version 5.3.6 [3m].
>>>>> Language: racket; memory limit: *256 MB*.
>>>>>
>>>>> > (/ (current-memory-use) (expt 10 6))
>>>>> 900 52839/125000
>>>>>
>>>>> > (collect-garbage)
>>>>> > (/ (current-memory-use) (expt 10 6))
>>>>> 660 25687/31250
>>>>>
>>>>>
>>>>> [Replicated in 5.91.]
>>>>>
>>>>> Does (current-memory-use) include overhead for e.g. the DrRacket
>>>>> runtime?
>>>>>
>>>>>
>>>>> Thanks
>>>>>
>>>>> Dan
>>>>>
>>>>>
>>>>> On Tue, Feb 11, 2014 at 7:13 PM, Daniel Prager <
>>>>> daniel.a.prager at gmail.com> wrote:
>>>>>
>>>>>> Is there a good reference to measure and understand Racket memory use?
>>>>>>
>>>>>> I'm doing a run of scribble and memory use is peaking at over 1 Gb.
>>>>>>
>>>>>> I expect that I will be able to make modifications to limit use if I
>>>>>> can get some informative measurements.
>>>>>>
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> Dan
>>>>>>
>>>>>> --
>>>>>> *Daniel Prager*
>>>>>>  Agile/Lean Coaching, Software Development and Leadership
>>>>>> Startup: www.youpatch.com
>>>>>> Twitter: @agilejitsu <https://twitter.com/agilejitsu>
>>>>>> Blog: agile-jitsu.blogspot.com
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> *Daniel Prager*
>>>>> Agile/Lean Coaching, Software Development and Leadership
>>>>> Startup: www.youpatch.com
>>>>> Twitter: @agilejitsu <https://twitter.com/agilejitsu>
>>>>> Blog: agile-jitsu.blogspot.com
>>>>>
>>>>> ____________________
>>>>>   Racket Users list:
>>>>>   http://lists.racket-lang.org/users
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> *Daniel Prager*
>>> Agile/Lean Coaching, Software Development and Leadership
>>> Startup: www.youpatch.com
>>> Twitter: @agilejitsu <https://twitter.com/agilejitsu>
>>> Blog: agile-jitsu.blogspot.com
>>>
>>
>>
>
>
> --
> *Daniel Prager*
> Agile/Lean Coaching, Software Development and Leadership
> Startup: www.youpatch.com
> Twitter: @agilejitsu <https://twitter.com/agilejitsu>
> Blog: agile-jitsu.blogspot.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20140213/81e022a1/attachment-0001.html>

Posted on the users mailing list.