More data on 7.2-RELEASE "hangs"

Chuck Swiger cswiger at mac.com
Wed May 13 17:18:33 UTC 2009


Hi--

On May 13, 2009, at 9:52 AM, John Baldwin wrote:
[ ... ]
> Well, you had a whole lot of page faults and other VM activity, plus  
> 500k
> syscalls.  The 'w' is a count of swapped processes, so basically  
> your box is
> swapping a whole lot it seems.  I think your box is just overloaded.

Yep.  There's a classic failure mode with preforking Apache where if  
the number of requests exceeds the max number of children which can be  
run without sending the system into heavy swapping, the server will  
effectively grind to a halt.  Start tuning by figuring out how much  
RAM you have available to Apache after system processes and things  
like your Postgres (and MySQL?) server are accounted for, divide by  
the the RES size, and set MaxChildren to that in httpd.conf.

Also, the process size of named is fairly astonishing:

  PID USERNAME  THR PRI NICE   SIZE    RES STATE  C   TIME   WCPU  
COMMAND
28752 root       5  96    0   427M   408M select 1   1:55  0.00% named
9720  nobody    19  97    0   402M   186M RUN    1   0:00  0.69% nsd

...even if you are running the process in 64-bit mode.  This can be  
brought under control by tuning recursive-clients and max-cache-size  
options.  Also, is nsd process from ports/dns/nsd-- ie, another  
nameserver?  Your machine is being overloaded by running too much  
stuff that's duplicating functionality; it's just not a good idea to  
try to run different types of databases on the same machine; they'll  
fight with the VM system and each other, making your VM system trash....

-- 
-Chuck



More information about the freebsd-stable mailing list