[nycbug-talk] apache on freebsd

Peter Wright pete at nomadlogic.org
Wed Aug 23 14:57:09 EDT 2006


>
> On Aug 23, 2006, at 1:48 PM, Peter Wright wrote:
>
>>> OSX
>>> 	-D APR_USE_SYSVSEM_SERIALIZE
>>> 	-D APR_USE_PTHREAD_SERIALIZE
>> uessing here, but the SYSVSEM and PTHREAD options could cause a
>> disparity
>> between memory usuage....this is the output from apachectl -V correct?
>> you are using the prefork model correct (sorry can't remember).
>
> prefork, yes
>
> -V, yes ( httpd -V , actually )
>
> according to the docs, the 2 APR options only have to do with binding
> to the sockets.  i could be  wrong.  but i haven't foudn anything
> that would result in a memory difference like that.
>>>
>
>>> on OSX, immediately after an httpd startup, Apache spawns
>>> 	1 parent server	80552  30796
>>> 	1 child server	76560   2960
>>>
>>> freeBSD spawns
>>> 	1 parent 55148 51736
>>> 	1 child 	55412 51956
>>>
>>> After 1  request,
>>> 	OSX child is + 14mb resident
>>> 	FreeBSD child is + 120k resident
>>
>> hmm...according to your results httpd on FreeBSD is only taking 120k
>> resident, while OSX is using 14megs resident.  the httpd is not
>> taking any
>> requests either during these samples correct?
>
> no.  the numbers above are vsize / resident after startup
>
> the +120k / +14 mb are the resident sizes after one request
>
> ie:
>
> osx		76560 16960
> freebsd	55412 52070
>
> memory in mod_perl grows like crazy because of the way variables are
> allocated.
> children tend to double in size within 500 requests-- at which time
> they're killed off my MaxRequestsPerChild and a new server with the
> parent's memory imprint is spawned
>
> i've been going crazy trying to tame mp-- most developers just toss
> memory at the server and don't care as its 'faster than developer
> time' -- what they fail to remember, is that time is neither created
> nor destroyed.   that approach just shifts work onto whomever
> maintains the box.
>
>
>> hmm...wierd.  never seen the leak restarting apache via rc.d, it
>> shouldn't
>> as it kills all httpd process the goes through the start function.  so
>> that may be a bug.
>
> i don't use rc.d-- i just use a custom apachectl script (which might
> be similar to rc.d ).  i have 4 apaches running on my system (same
> binary, different configurations).  one is handled by the rc.d and
> system.  the rest have their own setups tailored to specific
> functions, and managed independantly.
>
> apachectl restart jut reloads the confs and kills off the children.
> if you're using a mod_xxx interpreter, it'll often just double the
> size of whatever it loads.  its less of a bug and more of a
> behavior.  a hard stop / start is the only way to handle it.
>
>


hmm...well you've stumped me on this one :)  havn't done mod_perl work in
ages for better or worse (moved to jakarta/tomcat)...

-p


-- 
~~oO00Oo~~
Peter Wright
pete at nomadlogic.org
www.nomadlogic.org/~pete
310.869.9459



More information about the talk mailing list