collecting pv entries -- suggest increasing PMAP_SHPGPERPROC

Bill Moran wmoran at potentialtech.com
Mon Oct 27 13:05:25 PDT 2008


In response to FreeBSD <freebsd at optiksecurite.com>:

> Simon Chang a écrit :
> >> collecting pv entries -- suggest increasing PMAP_SHPGPERPROC
> >>
> >> I've read that this is mainly caused by Apache spawning too many processes.
> >> Everyone seems to suggest to decrease the MaxClients directive in Apache(set
> >> to 450 at the moment), but here's the problem...i need to increase it !
> >> During peaks all the processes are in use, we even have little drops
> >> sometime because there isn't enough processes to serve the requests. Our
> >> traffic is increasing slowly over time so i'm affraid that it'll become a
> >> real problem soon. Any tips on how I could deal with this situation,
> >> Apache's or FreBSD's side ?

[snip]

> I don't really understand why we are getting this error since there is 
> plenty of Inactive RAM in the system (2G inactive on a 4G server with 
> amd64). Is this a "normal" error in this case?

It's not about physical RAM, it's about kernel tables that are tracking
RAM usage per process.  When situations occur that cause these tables to
fill up, the kernel can't track RAM any more (even if it has plenty) so
it has to scan the entire table to garbage collect unused PV entries.
Depending on the exact circumstance, this usually won't hurt much, but
it does create a performance problem while the kernel is working on it.

Raising PMAP_SHPGPERPROC works most of the time.  You can also re-tune
your Apache setting to keep processes from constantly spawning and
dying.  For example, set the max spare and min spare servers settings
higher, so Apache keeps more spare servers around instead of spawning
them on demand and killing them when the demand ends.

Another option is to upgrade to 7.X, which seems to have replaced the
mechanism by which this is done to be more dynamic and not have this
problem.

-- 
Bill Moran
http://www.potentialtech.com


More information about the freebsd-questions mailing list