how to compute vm.pmap.pv_entry_count from procstat ?

Laurent Frigault lfrigault at
Sat Sep 6 22:21:56 UTC 2008


On a 7.0-STABLE i386 web server, I got kernel messages reporting
problems with PV entries:
Approaching the limit on PV entries, consider increasing either the vm.pmap.shpgperproc or the vm.pmap.pv_entry_max tunable.

This server (DELL poweredge R200 quad core 4G RAM) is having random
hang every few weeks  (need power off/on cycle, IPMI not responding
any more with those hangs) , but I don't know if the hangs are related
to a PV entries problem.

Before increasing blindly vm.pmap.shpgperproc , I would like to evaluate
a good value for vm.pmap.shpgperproc (default 200) because I remember
reading somewhere that increasing too much shpgperproc could result in
panic at boot time or later.

If I guess correctly (I did not find any understandable by me
documentation on vm.pmap.*) vm.pmap.pv_entry_count is the value
of currently used PV entries .

My idea was to use procstat -av output to compute some statistics about
the number of PV entries needed by various kind of process (apache, ...)

It should be possible to compute a good evaluation of
vm.pmap.pv_entry_count by adding some combination of RES,PRES, SHD

When I add RES,PRES, SHD values, the result is bigger than pv_entry_count.

What is the formula to retrieve pv_entry_count from procstat output or
in other words, how to compute the number of PV entries used by a
process ?

Laurent Frigault | <url:>

More information about the freebsd-stable mailing list