Anything depending on the output of 'sysctl -a' or 'sysctl kstat.zfs.misc.dbufs' will effectively hang 'forever' on my system, and reportedly others too. The system in question is running a poudriere jail, which builds a few hundred packages every night.
System is a 8-core 256GB system; resource congestion is not an issue.
E.g. Puppet will be useless on this system, since 'sysctl -a' is run during fact collection.
Suggestion: Do not gather/output kstat.zfs.misc.dbufs unless specifically requested.
# time sysctl kstat.zfs.misc.dbufs | wc
0 0 0
186084 6885040 54442005
Is anything happening here? This breaks various applications that rely on sysctl -a output, including Puppet (configuration management).
This is going to be fixed, but it is waiting on some other things that need to land first.
This kstat will be a lot faster soon, though not hidden yet.
WIP to enable skipped kstats to remain discoverable here:
After that is finished and MFC'd I'll make it so the root kstat node is skipped unless explicitly requested.
In the meantime, the change in the pull request in #4 should make things significantly faster.
A commit references this bug:
Date: Sat Oct 24 16:25:53 UTC 2020
New revision: 367010
Skip RAW kstat sysctls by default
hese kstats are often expensive to compute so we want to avoid them
unless specifically requested.
The following kstats are affected by this change:
Reported by: mjg
Reviewed by: mjg, allanjude
Obtained from: https://github.com/openzfs/zfs/pull/11099
Sponsored by: iXsystems, Inc.