Date: Thu, 5 Oct 2023 20:54:00 -0400 From: Mark Johnston <markj@freebsd.org> To: freebsd-fs@freebsd.org Cc: mav@freebsd.org Subject: arc_prune thread consuming 100% CPU Message-ID: <ZR9aqGmSZwVriHjp@nuc>
next in thread | raw e-mail | index | archive | help
Hi, Sometime in the past two months I started seeing a problem with ZFS on the latest FreeBSD main on my desktop. The symptom is that the arc_prune thread, which attempts to shrink the vnode cache, consumes 100% CPU even when the system is idle. I was confused at first, since dtrace shows that 1) arc_prune_task() is getting called several dozen times per second, but 2) arc_prune_async() is not getting called. But now I see that the taskq zone has ~250000 allocations, and the number is slowly shrinking. So, I believe arc_evict() was called many times in quick succession at some point, and it queued up a massive amount of work that is slowly draining. Could there be some regression in the arc_evict() changes that were made earlier this year in commit a8d83e2a24de6? If so, I'm not sure why I'm only seeing it now, it looks like that commit was merged to FreeBSD in April.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ZR9aqGmSZwVriHjp>