[racket] DrRacket never uses more than 1 GB?

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Tue Jul 13 20:40:30 EDT 2010

On Tue, Jul 13, 2010 at 6:39 PM, Greg Hendershott
<greghendershott at gmail.com> wrote:
> OK mister smartypants. :)

Indeed! :)

> I set the limit back to 1024 MB.
>
> And ... it crashed again DrRacket again.

That limit is probably high enough to be ineffective as an actual
limit. I don't understand the precise connection between what
current-memory-use reports and what the OS says that a process is
using, but you want to use the numbers for the former, not the latter.

> Just like it did back when I decided to try setting it to "unlimited"
> in the first place, to avoid this happening.
>
> Seriously, is the idea that users are supposed to:
> [1] Understand the maximum memory for their system. (Which isn't
> documented, but on Win64 is 2 GB ... unless it is actually 1 GB.)
> [2] Set the DrRacket memory limit to whatever value they guessed in step 1.
> [3] Watch DrRacket abend and lose their work, anyway?
>
> I'm not trying to be a PITA, I genuinely don't understand the intended usage.
>
> Also I guess I'm frustrated that I have a memory utilization issue
> which is my own darn fault, but I have no clear mental model, yet,
> what the heck is happening and how to track it down. In which regard I
> suppose I feel like an Alan Perlis punch-line: A programmer who knows
> the value, and actually DOES want to understand the cost ... but
> can't. Like, if I have to ask the price, I can't afford it ... ?

ha!

IMO, we are missing good memory debugging tools, but this is a big
project so likely you'll have to stick with what we have so far.

If you build with one of the alternate collects (sgc?) you can get a
fair amount of memory debugging information. Its pretty low-level and
there is no visualization to help you understand, but if you are
careful and think hard about what it is telling you, you might be able
to get some use out of it.

Robby


Posted on the users mailing list.