FreeBSD Bugzilla – Attachment 249992 Details for
Bug 278375
EN: High CPU usage by kernel threads related to ZFS
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
EN text (template filled, except for yet missing info)
OpenZFS_ARC_pruning.txt (text/plain), 4.56 KB, created by
Olivier Certner
on 2024-04-15 09:14:00 UTC
(
hide
)
Description:
EN text (template filled, except for yet missing info)
Filename:
MIME Type:
Creator:
Olivier Certner
Created:
2024-04-15 09:14:00 UTC
Size:
4.56 KB
patch
obsolete
>============================================================================= >FreeBSD-EN-ERRATA_TEMPLATE Errata Notice > The FreeBSD Project > >Topic: High CPU usage by kernel threads related to ZFS > >Category: contrib >Module: zfs >Announced: 2024-04-1X >Affects: FreeBSD 13.x >Corrected: 2024-04-12 13:00:11 UTC (stable/13, 13-STABLE) > 2024-04-1X XX:XX:XX UTC (releng/13.3, 13.3-RELEASE-pXX) > >For general information regarding FreeBSD Errata Notices and Security >Advisories, including descriptions of the fields above, security >branches, and the following sections, please visit ><URL:https://security.FreeBSD.org/>. > >I. Background > >ZFS is an advanced and scalable file system originally developed by Sun >Microsystems for its Solaris operating system. ZFS was integrated as part of >the FreeBSD starting with FreeBSD 7.0, and it has since become a prominent >and preferred choice for storage management. > >II. Problem Description > >Because ZFS may consume large amounts of RAM to cache various types of >filesystem objects, it continuously monitors system RAM available to decide >whether to shrink its caches. Some caches are shrunk using a dedicated >thread, to which work is dispatched asynchronously. > >In some cases, the cache shrinking logic may dispatch excessive amounts of >work to the "ARC pruning" thread, causing it to continue attempting to shrink >caches even after resource shortages are resolved. > >III. Impact > >The bug manifests as a kernel thread, "arc_prune", consuming 100% of a CPU core >for indefinite periods, even while the system is otherwise idle. This behavior >also impacts workloads running on the system, by reducing available CPU >resources and by triggering lock contention in the kernel, in particular with >the "vnlru" process whose function is to recycle vnodes (structures representing >files, whether opened or cached), a mechanism frequently triggered by intensive >filesystem workloads. > >IV. Workaround > >No workaround is available. Systems not using ZFS are unaffected. > >V. Solution > >Upgrade your system to a supported FreeBSD stable or release / security branch >(releng) dated after the correction date. A reboot is required following the >upgrade. > >Perform one of the following: > >1) To update your system via a binary patch: > >Systems running a RELEASE version of FreeBSD on the amd64 or arm64 platforms, >or the i386 platform on FreeBSD 13 and earlier, can be updated via >the freebsd-update(8) utility: > ># freebsd-update fetch ># freebsd-update install ># reboot > >2) To update your system via a source code patch: > >The following patches have been verified to apply to the applicable >FreeBSD release branches. > >a) Download the relevant patch from the location below, and verify the >detached PGP signature using your PGP utility. > >[FreeBSD 13.3] ># fetch https://security.FreeBSD.org/patches/EN-XX:XX/XXXX.patch ># fetch https://security.FreeBSD.org/patches/EN-XX:XX/XXXX.patch.asc ># gpg --verify XXXX.patch.asc > >b) Apply the patch. Execute the following commands as root: > ># cd /usr/src ># patch < /path/to/patch > >c) Recompile your kernel as described in ><URL:https://www.FreeBSD.org/handbook/kernelconfig.html> and reboot the >system. > >VI. Correction details > >This issue is corrected as of the corresponding Git commit hash or Subversion >revision number in the following stable and release branches: > >Branch/path Hash Revision >------------------------------------------------------------------------- >stable/13/ 330954bdb822 stable/13-n257698 >releng/13.3/ XXXXXXXXXXXX releng/13.3-nXXXXXX >------------------------------------------------------------------------- > >Run the following command to see which files were modified by a >particular commit: > ># git show --stat <commit hash> > >Or visit the following URL, replacing NNNNNN with the hash: > ><URL:https://cgit.freebsd.org/src/commit/?id=NNNNNN> > >To determine the commit count in a working tree (for comparison against >nNNNNNN in the table above), run: > ># git rev-list --count --first-parent HEAD > >VII. References > >See problem reports ><URL:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274698> and ><URL:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275594>. > >See also the previous, similar errata notice issued for FreeBSD 14.0: ><URL:https://security.FreeBSD.org/advisories/FreeBSD-EN-23:18.openzfs.asc>. > >The latest revision of this advisory is available at ><URL:https://security.FreeBSD.org/advisories/FreeBSD-EN-XX:XX.XXXXX.asc>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 278375
: 249992