diff --git a/man/man4/zfs.4 b/man/man4/zfs.4 index da027798f962..7078a5ba8373 100644 --- a/man/man4/zfs.4 +++ b/man/man4/zfs.4 @@ -867,14 +867,14 @@ where that percent may exceed This only operates during memory pressure/reclaim. . -.It Sy zfs_arc_shrinker_limit Ns = Ns Sy 10000 Pq int +.It Sy zfs_arc_shrinker_limit Ns = Ns Sy 0 Pq int This is a limit on how many pages the ARC shrinker makes available for eviction in response to one page allocation attempt. Note that in practice, the kernel's shrinker can ask us to evict up to about four times this for one allocation attempt. To reduce OOM risk, this limit is applied for kswapd reclaims only. .Pp -The default limit of +For example a value of .Sy 10000 Pq in practice, Em 160 MiB No per allocation attempt with 4 KiB pages limits the amount of time spent attempting to reclaim ARC memory to less than 100 ms per allocation attempt, diff --git a/module/os/linux/zfs/arc_os.c b/module/os/linux/zfs/arc_os.c index b1e45b28743e..3238977af6d1 100644 --- a/module/os/linux/zfs/arc_os.c +++ b/module/os/linux/zfs/arc_os.c @@ -63,7 +63,7 @@ * practice, the kernel's shrinker can ask us to evict up to about 4x this * for one allocation attempt. * - * The default limit of 10,000 (in practice, 160MB per allocation attempt + * For example a value of 10,000 (in practice, 160MB per allocation attempt * with 4K pages) limits the amount of time spent attempting to reclaim ARC * memory to less than 100ms per allocation attempt, even with a small * average compressed block size of ~8KB. @@ -71,7 +71,7 @@ * See also the comment in arc_shrinker_count(). * Set to 0 to disable limit. */ -static int zfs_arc_shrinker_limit = 10000; +static int zfs_arc_shrinker_limit = 0; /* * Relative cost of ARC eviction, AKA number of seeks needed to restore evicted