[Bug 290207] [ZFS] lowering "vfs.zfs.arc.max" to a low value causes kernel threads of "arc_evict" to use 91% CPU and disks to wait. System gets unresponsive...

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 15 Oct 2025 11:39:12 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290207

--- Comment #10 from Nils Beyer <nbe@vkf-renzel.de> ---
I did a cross-check using a fresh FreeBSD 14.3-RELEASE VM with 2GB of RAM and
root-on-UFS.

Then I extracted "ports.txz" and "src.txz" and did a reboot. After reboot I
deleted "/usr/ports" and "/usr/src". Wired memory usage went to 300MB. Then I
extracted "ports.txz" and "src.txz". Wired memory usage went up a little bit to
335MB, BUT "Inactive memory" raised to 1.5GB. And that's what I expected as
this was(!) cache, right? And now it can be used again.

Then, I tried the same on the same VM again, but this time with root-on-ZFS.
After deleting "/usr/ports" and "/usr/src/" wired memory usage went up to
500MB. After extracting the two .txz-files, wired(!) memory usage went up to
1.5GB.

So, it seems that it buffered the same amount of data, but under ZFS in wired
memory and under UFS in reclaimable memory.

I am no expert, but maybe there is a memory leak somewhere and "arc_evict"
fails many, many times to release that memory and therefore generates this huge
load and waits?

-- 
You are receiving this mail because:
You are the assignee for the bug.