Re: Chasing OOM Issues - good sysctl metrics to use?

From: Pete Wright <pete_at_nomadlogic.org>
Date: Sun, 24 Apr 2022 02:20:24 UTC

On 4/23/22 12:31, Mark Millard wrote:
> I think you may have taken my suggestion backwards . . .
>
> Unfortunately, vnode (file) based swap space should be *avoided*
> and partitions are what should be used in order to avoid deadlocks:
>
> On 2017-Feb-13, at 7:20 PM, Konstantin Belousov <kostikbel at gmail.com> wrote
> on the freebsd-arm list:
>
> QUOTE
> swapfile write requires the write request to come through the filesystem
> write path, which might require the filesystem to allocate more memory
> and read some data. E.g. it is known that any ZFS write request
> allocates memory, and that write request on large UFS file might require
> allocating and reading an indirect block buffer to find the block number
> of the written block, if the indirect block was not yet read.
>
> As result, swapfile swapping is more prone to the trivial and unavoidable
> deadlocks where the pagedaemon thread, which produces free memory, needs
> more free memory to make a progress.  Swap write on the raw partition over
> simple partitioning scheme directly over HBA are usually safe, while e.g.
> zfs over geli over umass is the worst construction.
> END QUOTE
>
> The developers handbook has a section debugging deadlocks that he
> referenced in a response to another report (on freebsd-hackers).
>
> https://docs.freebsd.org/en/books/developers-handbook/kerneldebug/#kerneldebug-deadlocks

d'oh - thanks for the correction!

-pete


-- 
Pete Wright
pete@nomadlogic.org
@nomadlogicLA