HomeFreeBSD

set zfs_arc_shrinker_limit to 0 by default

Description

set zfs_arc_shrinker_limit to 0 by default

zfs_arc_shrinker_limit was introduced to avoid ARC collapse due to
aggressive kernel reclaim. While useful, the current default (10000) is
too prone to OOM especially when MGLRU-enabled kernels with default
min_ttl_ms are used. Even when no OOM happens, it often causes too much
swap usage.

This patch sets zfs_arc_shrinker_limit=0 to not ignore kernel reclaim
requests. ARC now plays better with both kernel shrinker and pagecache
but, should ARC collapse happen again, MGLRU behavior can be tuned or
even disabled.

Anyway, zfs should not cause OOM when ARC can be released.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Signed-off-by: Gionatan Danti <g.danti@assyoma.it>
Closes #16909

Details

Provenance
shodanshok <g.danti@assyoma.it>Authored on Dec 29 2024, 7:50 PM
GitHub <noreply@github.com>Committed on Dec 29 2024, 7:50 PM
Parents
rG9dd5fe1095df: zvol: implement platform-independent part of block cloning
Branches
Unknown
Tags
Unknown