'kern.maxpipekva exceeded' messages...

Dag-ErlingSmørgrav des at des.no
Tue Jan 27 08:38:27 PST 2004

Mike Silbersack <silby at silby.com> writes:
> I do not believe that there is a leak.  What actually happened is
> that between 5.1 and 5.2 I added pipe memory limits, which had not
> been present before.

Oh!  I wasn't aware that the limit did not already exist.

> 1.  Pipes overallocate memory greatly; I could probably reduce the
> memory usage of an idle pipe by 8x or so.

My problem is not idle pipes; my problem is that the following system

# sysctl kern.ipc.maxpipekva
kern.ipc.maxpipekva: 8704000
# sysctl kern.ipc.pipekva
kern.ipc.pipekva: 393216

runs out of pipe kva every monday morning when it tries to pipe a
level 0 dump through ssh.

Is there some way to impose a limit on the memory consumed by a single
pipe?  I don't care if dump blocks waiting for ssh to push out the
data, but I do care about the system crashing shortly after running
out of pipe kva.

Another problem I have is with a system that runs out of pipe kva when
I create a large number of jails.  I really need a way to find out
where all that memory goes...

> If you're interested in working on this right now, I can send you what I
> had planned to do for #1, it would be a very small amount of code,
> although it would require a bit of testing to ensure that it does not
> degrade the performance of pipes by a noticeable amount.

That would be nice.  I have several systems I can test it on.

Dag-Erling Smørgrav - des at des.no

More information about the freebsd-current mailing list