Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Matts (1087)

  (email not shown publicly)

I work for MessageLabs [] in Toronto, ON, Canada. I write spam filters, MTA software, high performance network software, string matching algorithms, and other cool stuff mostly in Perl and C.

Journal of Matts (1087)

Wednesday November 13, 2002
05:37 AM

HTTPD problems

[ #8926 ]

I've taken httpd on down permanently for now, until I can figure out what the heck is up with it. I've now had to reboot twice. Last time I could see it, there were about 50 httpd's spawned (which is a lot when each uses mod_perl and about 15M of ram!), and all were using 100% of RAM. I swear all I did was restart the httpd after deleting a bunch of log files.

However, I can see how a restart might potentially affect things - if I did a apt-get upgrade (which I did) a few weeks ago, but hadn't restarted my httpd since, it might change something that could cause this.

So I'm a bit lost now. How do I fix it? I have absolutely no idea what to do right now. I tried the old USR2 signal trick, where you install a signal handler to do a Carp::confess, but that failed to work (nothing appeared in my logs).

Yours bogglingly, Matt.

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • You could start out with setting MaxClients to something more reasonable. Maybe 15 if you don't have a proxy; 5 or so if you do.

    If you don't have a proxy you want to install one, then you'll be able to do a /server-status on the proxy and see what requests the backend is processing when it's imploding.

    -- ask bjoern hansen [], !try; do();

    • Thanks Ask.

      It's so easy to forget this stuff when you're no longer doing mod_perl development.

      Looks like the lock up is somewhere in XML::LibXML parsing. Probably based on an upgraded libxml2 without recompiling XML::LibXML.
  • You could also limit the lifespan of your children. If there is a bug in that leaks memory, giving children shorter lifespans may mean that a serious problem point is never reached.


    @JAPH = qw(Hacker Perl Another Just);
    print reverse @JAPH;