You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Perrin Harkins <pe...@primenet.com> on 2001/02/05 19:57:21 UTC

Re: Runaways

Robert Landrum wrote:
> 
> I have some very large httpd processes (35 MB) running our
> application software.  Every so often, one of the processes will grow
> infinitly large, consuming all available system resources.  After 300
> seconds the process dies (as specified in the config file), and the
> system usually returns to normal.  Is there any way to determine what
> is eating up all the memory?  I need to pinpoint this to a particular
> module.  I've tried coredumping during the incident, but gdb has yet
> to tell me anything useful.

First, BSD::Resource can save you from these.  It will do hard limits on
memory and CPU consumption.  Second, you may be bale to register a
handler for a signal that will generate a stack trace.  Look at
Devel::StackTrace (I think) for how to do it.
- Perrin

Re: Runaways

Posted by Dave Rolsky <au...@urth.org>.
On Mon, 5 Feb 2001, Perrin Harkins wrote:

> > Nope, that's not it.  I wrote that one and it doesn't talk about that at
> > all.
>
> I meant "for how to generate a stacktrace".  Using it with a singal
> handler was demonstrated on this list about two weeks ago, but I can't
> recall who did it.  It was someone trying to track down a segfault.

Oops, yes, you could use Devel::StackTrace or just use Carp::croak.

Devel::StackTrace gives you a finer grained access to the stack trace (you
can examine it frame by frame) rather than just dumping a string.  For the
purposes of dumping a trace to a log, either one will work just fine.


-dave

/*==================
www.urth.org
We await the New Sun
==================*/


Re: Runaways

Posted by Perrin Harkins <pe...@primenet.com>.
Dave Rolsky wrote:
> 
> On Mon, 5 Feb 2001, Perrin Harkins wrote:
> 
> > First, BSD::Resource can save you from these.  It will do hard limits on
> > memory and CPU consumption.  Second, you may be bale to register a
> > handler for a signal that will generate a stack trace.  Look at
> > Devel::StackTrace (I think) for how to do it.
> 
> Nope, that's not it.  I wrote that one and it doesn't talk about that at
> all.

I meant "for how to generate a stacktrace".  Using it with a singal
handler was demonstrated on this list about two weeks ago, but I can't
recall who did it.  It was someone trying to track down a segfault.
- Perrin

Re: Runaways

Posted by Dave Rolsky <au...@urth.org>.
On Mon, 5 Feb 2001, Perrin Harkins wrote:

> First, BSD::Resource can save you from these.  It will do hard limits on
> memory and CPU consumption.  Second, you may be bale to register a
> handler for a signal that will generate a stack trace.  Look at
> Devel::StackTrace (I think) for how to do it.

Nope, that's not it.  I wrote that one and it doesn't talk about that at
all.

-dave

/*==================
www.urth.org
We await the New Sun
==================*/