tuning.7: add more explanation about swap (over-)accounting

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D54572
This commit is contained in:
Konstantin Belousov
2026-01-12 05:54:58 +02:00
parent d160447129
commit 457b940bfb
+15
View File
@@ -222,6 +222,21 @@ and
.Va vm.stats.vm.v_wire_count
sysctls, respectively).
.Pp
Due to the architecture of the
.Fx
virtual memory subsystem, the use of copy on write (CoW) anonymous
memory, e.g. on
.Xr fork 2 ,
causes swap reservation for all three regions (VM objects),
as in the original pre-fork mapping, and its copies in
the parent and child, instead of only two.
Eventually the subsystem tries to optimize the internal layout
of the tracking for CoW and often removes (collapses) no longer
needed backing objects, re-assigning its pages and swap
reservations to the copies.
Coolapsing frees the swap reserve, but it is not guaranteed
to happen.
.Pp
The
.Va kern.ipc.maxpipekva
loader tunable is used to set a hard limit on the