Skip site navigation (1)Skip section navigation (2)
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>