[plt-scheme] Make multiple attempts to open DrScheme join running process?

From: Todd O'Bryan (toddobryan at mac.com)
Date: Sun Feb 25 18:43:50 EST 2007

On Sun, 2007-02-25 at 17:49 -0500, Eli Barzilay wrote:
> On Feb 25, Todd O'Bryan wrote:
> > 
> > Something else I'm going to try is an automatic re-nicer that
> > several people who use LTSP have suggested. If I put mred and
> > drscheme on a list of suspect binaries, it should keep them from
> > taking over the whole server.
> 
> That won't help much when the problem is insufficient memory.
> 
> 
> > I guess I also need to figure out how to set memory limits more at a
> > finer level than the same for all users.
> 
> (I posted a link earlier.)
> 
I already have memory limits set. I just have to play with them some
more.

I started at 256MB per user, but Gnome, Firefox, and DrScheme wouldn't
work with that. Also, I had a problem that the Java Virtual Machine
would reserve the max heap size in virtual memory space, whether or not
it actually needed it. Once I figured out how to reduce the size of the
default heap the JVM requests, that problem got taken care of.

But DrScheme eats memory *very* quickly. I currently have my user memory
set at a 1GB maximum and that's clearly too much, but I have to figure
out how to specify how much each user should be allowed to access.

Try this experiment. In Beginning Student, type the following
definition:

(define (recurse x)
  (recurse x))

and then evaluate (recurse 7) in the interactions Window.

With one user logged in on my server, running that program hits the 1GB
level (and kills DrScheme) within 10 seconds.

I'm hoping that a re-nicer will work because the problem with runaway
DrScheme processes is not limited to Linux and not limited to multi-user
systems.

If you haven't had the unfortunate experience that DrScheme seems to
freeze up your computer and clicking the Stop button does nothing to
help it, then you're much luckier than my students and I. Especially
with images and other processing-intensive tasks, 2GHz machines with
512MB of memory running Windows XP would seem to freeze, leaving us
unable to switch out of the program. Because our district system
administrator disables student access to the Task Manager, this would
sometimes result in having to do a hard shutdown.

To complicate matters (or maybe just to annoy us), occasionally the Stop
button would respond, sometimes as much as 30 seconds after it had been
clicked. My mantra last semester, when students complained that their
DrScheme had frozen, was "Click the Stop button, wait a minute or two,
and if it doesn't come back, you'll have to restart." Obviously, I can't
use that approach in a multi-user environment.

Todd

P.S. I'm afraid I sound like a big whiner. Overall, I'm very happy with
the way everything is running, and I realize the complexity inherent in
producing a program of the magnitude of DrScheme. But there are still a
few blemishes that need cleaning up and I guess my foray into the world
of multi-user installations is making them more apparent to me this
semester.



Posted on the users mailing list.