'kern.maxpipekva exceeded' messages...
Dag-ErlingSmørgrav
des at des.no
Tue Jan 20 00:57:24 PST 2004
Peter Losher <Peter_Losher at isc.org> writes:
> In updating one of our authoritiative name servers to 5.2-REL, we enountered
> after two days of running, kernel message like:
>
> kern.maxpipekva exceeded, please see tuning(7).
>
> appearing to the point to where you couldn't ssh into the box (because sshd
> died w/ too many files opened). I see so mention of kern.maxpipekva on the
> tuning man page, and greping only finds kern.ipc entries.
>
> % sysctl -a | grep pipekva
> kern.ipc.maxpipekva: 10485760
> kern.ipc.maxpipekvawired: 5242880
> kern.ipc.pipekva: 131072
> kern.ipc.pipekvawired: 0
>
> Are they the same, and if so, what's are the guidelines for increasing the
> number?
yes, the error message is incorrect.
here's an excerpt from comment in the kernel sources:
* In order to limit the resource use of pipes, two sysctls exist:
*
* kern.ipc.maxpipekva - This is a hard limit on the amount of pageable
* address space available to us in pipe_map. Whenever the amount in use
* exceeds half of this value, all new pipes will be created with size
* SMALL_PIPE_SIZE, rather than PIPE_SIZE. Big pipe creation will be limited
* as well. This value is loader tunable only.
*
* kern.ipc.maxpipekvawired - This value limits the amount of memory that may
* be wired in order to facilitate direct copies using page flipping.
* Whenever this value is exceeded, pipes will fall back to using regular
* copies. This value is sysctl controllable at all times.
*
* These values are autotuned in subr_param.c.
*
* Memory usage may be monitored through the sysctls
* kern.ipc.pipes, kern.ipc.pipekva and kern.ipc.pipekvawired.
You can set these variables in /boot/loader.conf.
DES
--
Dag-Erling Smørgrav - des at des.no
More information about the freebsd-current
mailing list