Re: An idea for swap partition size vs. swap space size in use handling
- Reply: Mark Millard : "Re: An idea for swap partition size vs. swap space size in use handling"
- Reply: Jamie Landeg-Jones : "Re: An idea for swap partition size vs. swap space size in use handling"
- In reply to: Poul-Henning Kamp: "Re: An idea for swap partition size vs. swap space size in use handling"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 22 Jan 2023 08:21:55 UTC
On Jan 21, 2023, at 23:17, Poul-Henning Kamp <phk@phk.freebsd.dk> wrote:
> --------
> Mark Millard writes:
>
>> It would be nice if I could have just one swap partition
>> on a given boot media, one that is more than sufficient
>> in size for all but the biggest RAM system --but to then
>> be able to tell the system to just use up to the
>> recommended swap space size and to ignore any extra swap
>> space in the swap partition.
>
> Last I looked at that code, that is precisely what happens
> if you add a too big swap-device ?
It produces a notice reporting how much bigger what it is
using is than what is recommended, if I understand the
message right. Here is an example were the difference was
small for an armv7 context:
warning: total configured swap (1003519 pages) exceeds maximum recommended amount (1003072 pages).
Another from a context with a much bigger difference:
warning: total configured swap (2097152 pages) exceeds maximum recommended amount (916632 pages).
These sort of messages are followed by:
warning: increase kern.maxswzone or reduce amount of swap.
But, as I understand, increasing kern.maxswzone makes
tradoffs with other kernel memory use. man 8 loader
reports:
kern.maxswzone
Limits the amount of KVM to be used to hold swap metadata,
which directly governs the maximum amount of swap the
system can support . . .
. . .
Note that swap metadata can be fragmented, which means that
the system can run out of space before it reaches the
theoretical limit. Therefore, care should be taken to not
configure more swap than approximately half of the
theoretical maximum.
(Note: My understanding is that an "approximately half" is the
figure shown as the "recommended amount" in the warnings.)
Running out of space for swap metadata can leave the system
in an unrecoverable state. Therefore, you should only
change this parameter if you need to greatly extend the KVM
reservation for other resources such as the buffer cache or
kern.ipc.nmbclusters. Modifies kernel option
VM_SWZONE_SIZE_MAX.
The wording in man 8 loader is about decreasing kern.maxswzone
in order to make room for other resources. But the implication
is that increases leave less room than normal for other
resources. I try to avoid getting the warnings as I do not have
knowledge/context to make well-guided tradeoffs for the
resources.
As I understand, the 2097152 pages vs. 916632 pages example means
that it was operating with the referenced fragmentation problems
being more likely. That would not be true if it was just using
more like the 916632 pages and ignoring the rest.
(I was not suggesting changes to default behavior. I was only
suggesting being able to put it in a mode where it would have
used, for example, just around 916632 pages of the swap space.)
(Note: Some of the detailed man 8 loader claims that I left out
seem to not be general to all platforms, despite the wording
giving no hint of that issue.)
===
Mark Millard
marklmi at yahoo.com