Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Jan 2007 09:13:39 -0500
From:      Bill Moran <wmoran@collaborativefusion.com>
To:        "peter" <peter@topcomtech.com.cn>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: no pv entries: increase vm.pmap.shpgperproc
Message-ID:  <20070119091339.6a0229f1.wmoran@collaborativefusion.com>
In-Reply-To: <003b01c73b71$b1e5a930$560ea8c0@rzcpei>
References:  <003b01c73b71$b1e5a930$560ea8c0@rzcpei>

next in thread | previous in thread | raw e-mail | index | archive | help
In response to "peter" <peter@topcomtech.com.cn>:
> Hi,
> My freebsd box runs the apache httpd2.0 server, postgresql8.1server,
> Recently, I got the below info in /var/crash.
> “Dump header from device /dev/da0s1b
>   Architecture: i386
>   Architecture Version: 2
>   Dump Length: 1073127424B (1023 MB)
>   Blocksize: 512
>   Dumptime: Wed Jan 17 16:39:08 2007
>   Hostname: myhost.mydomain.com
>   Magic: FreeBSD Kernel Dump
>   Version String: FreeBSD 6.0-RELEASE #0: Tue Apr 25 15:07:33 CST 2006
>     peter@myhost.mydomain.com:/usr/src/sys/i386/compile/MYKNL
>   Panic String: no pv entries: increase vm.pmap.shpgperproc
>   Dump Parity: 2383301964
>   Bounds: 49
>   Dump Status: good”
> I had searched in google, but I didn’t know how to do.

You _should_ be able to raise the vm.pmap.shpgperproc sysctl to prevent
the problem -- but there doesn't seem to be any such sysctl.  I'm not sure
what's going on here, but it seems to me that a PR is in order.

Failing that, you could set the following in your kernel config:
options PMAP_SHPGPERPROC=250
and rebuild/reinstall your kernel.  If you're not familiar with kernel
building, the docs are here:
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html

The default value is 200, so I expect 250 will be enough of a bump to
fix the problem.  If it's not, raise it a little higher and try again.
I don't know of any way to tell exactly what this value should be other
than trial and error.  I've seen warnings that raising this value too
high can result in an unbootable kernel, so take care to understand how
to recover from the installation of an unbootable kernel.

The research I've done seems to indicate that pv exhaustion is very rare,
which is why you're having trouble finding reference to it in Google
searches.  That's the first reference I've seen to a sysctl --
usually the recommendation is to rebuild the kernel.  Google for
PMAP_SHPGPERPROC and you'll find some other (albeit few) discussions.

-- 
Bill Moran
Collaborative Fusion Inc.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070119091339.6a0229f1.wmoran>