arc_prune thread consuming 100% CPU
- Reply: Matthew Seaman : "Re: arc_prune thread consuming 100% CPU"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 06 Oct 2023 00:54:00 UTC
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.