Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: httpd: _lwp_ctl: Cannot allocate memory



On Fri, Mar 14, 2008 at 10:07:32PM +1100, Sarton O'Brien wrote:

> Andrew Doran wrote:
> >On Fri, Mar 14, 2008 at 01:30:31PM +1100, Sarton O'Brien wrote:
> >  
> >>Is this a known issue?
> >>
> >>/etc/rc.d/apache stop
> >>Stopping apache.
> >>httpd: _lwp_ctl: Cannot allocate memory
> >>
> >>NetBSD www.internal 4.99.55 NetBSD 4.99.55 (XEN3_DOMU) #0: Tue Mar 11 
> >>19:53:46 EST 2008  
> >>root%mx0.internal@localhost:/usr/obj/sys/arch/i386/compile/XEN3_DOMU i386
> >>    
> >
> >How much memory did you give the domain? Was it under memory pressure?
> >How many threads do your apache processes have each?
> >  
> 
> I'd only just booted, so no pressure outside of starting/booting.
> 
> This is what top reports after being up for over 8 hours:
> 
> load averages:  0.02,  0.01,  0.00                  up 0 days,  8:35   
> 21:51:19
> 35 processes:  34 sleeping, 1 on CPU
> CPU states:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  100% 
> idle
> Memory: 298M Act, 12M Wired, 16M Exec, 135M File, 168M Free
> Swap: 512M Total, 512M Free
> 
> www# ps ax|grep httpd
> 5214 ?        I    0:00.01 /usr/pkg/sbin/httpd -k start
> 5382 ?        I    0:00.01 /usr/pkg/sbin/httpd -k start
> 5441 ?        I    0:00.01 /usr/pkg/sbin/httpd -k start
> 6237 ?        I    0:00.00 /usr/pkg/sbin/httpd -k start
> 6331 ?        I    0:00.02 /usr/pkg/sbin/httpd -k start
> 6939 ?        I    0:00.01 /usr/pkg/sbin/httpd -k start
> 7074 ?        Ss   0:00.25 /usr/pkg/sbin/httpd -k start
> 7362 ?        I    0:00.00 /usr/pkg/sbin/httpd -k start
> 7468 ?        I    0:00.00 /usr/pkg/sbin/httpd -k start
> 8677 ?        I    0:00.00 /usr/pkg/sbin/httpd -k start
> 8758 ?        I    0:00.01 /usr/pkg/sbin/httpd -k start

ps 'axs' will show threads within the httpd processes.

> 
> www# httpd -l|grep pre
>  prefork.c
> 
> <IfModule mpm_prefork_module>
>    StartServers         10
>    MinSpareServers       5
>    MaxSpareServers      10
>    MaxClients          150
>    MaxRequestsPerChild   0
> </IfModule>

Hmm, looks like httpd is not using threads to service requests.

> www# pkg_info |grep -i apache
> apr-1.2.12          Apache Portable Runtime
> apr-util-1.2.10     Apache Portable Runtime utilities
> apache-2.2.8        Apache HTTP (Web) server, version 2
> ap22-php5-5.2.5nb1  Apache (apache22) module for PHP5
> ap22-bw-0.6nb2      Class-based bandwidth limiting module for Apache 2
> 
> I'll note that stopping and starting now does not seem to cause the problem.
> 
> With the other one I reported for webmin, that is 100% repeatable as it 
> starts from rc.local ... well attempts to but never actually does. 
> Attempting to start it _after_ boot seems to work. The error is always 
> generated at boot. The same domu that fails with apache, starts webmin 
> fine at boot. I'm guessing if I had of left it for a while rather than 
> rebooting, apache probably would have stopped. There seems to be a time 
> factor and it seems to occur early on in boot/after boot.
> 
> If there is more I can provide please ask.

Could you try a ktrace -di on the failing command? Hopefully it does not
seteuid() which is likely to break the trace.

Thanks,
Andrew



Home | Main Index | Thread Index | Old Index