nfs client's OpenOwner count increases without bounds

From: Alan Somers <>
Date: Wed, 04 May 2022 20:59:19 UTC
I have a FreeBSD 13 (tested on both 13.0-RELEASE and 13.1-RC5) desktop
mounting /usr/home over NFS 4.2 from an 13.0-RELEASE server.  It
worked fine until a few weeks ago.  Now, the desktop's performance
slowly degrades.  It becomes less and less responsive until I restart
X after 2-3 days.  /var/log/Xorg.0.log shows plenty of entries like
"AT keyboard: client bug: event processing lagging behind by 112ms,
your system is too slow".  "top -S" shows that the busiest process is
nfscl.  A dtrace profile shows that nfscl is spending most of its time
in nfscl_cleanup_common, in the loop over all nfsclowner objects.
Running "nfsdumpstate" on the server shows thousands of OpenOwners for
that client, and < 10 for any other NFS client.  The OpenOwners
increases by about 3000 per day.  And yet, "fstat" shows only a couple
hundred open files on the NFS file system.  Why are OpenOwners so
high?  Killing most of my desktop processes doesn't seem to make a
difference.  Restarting X does improve the perceived responsiveness,
though it does not change the number of OpenOwners.

How can I figure out which process(es) are responsible for the
excessive OpenOwners?  Or is it just a red herring and I shouldn't