svn commit: r338656 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Eric van Gyzen
vangyzen at FreeBSD.org
Thu Sep 13 17:56:49 UTC 2018
Author: vangyzen
Date: Thu Sep 13 17:56:48 2018
New Revision: 338656
URL: https://svnweb.freebsd.org/changeset/base/338656
Log:
Set zfs_arc_meta_strategy to metadata only
The previous default of "balanced" appears to have caused pathological
behavior, including very poor performance and 100% CPU load in the
arc_reclaim_thread.
The symptoms appeared when the daily periodic run started.
With this change, the system--and the ARC in particular--behaved
normally during a manual daily periodic run.
From Mark Johnston: The port of the balanced strategy is incomplete,
since arc_prune_async() is a no-op on FreeBSD. (This also seems
to imply that r337653 is a no-op.) After 12 is branched we can
port the remaining bits and consider changing the default back.
Submitted by: markj (essentially)
Reviewed by: markj
Approved by: re (gjb)
Sponsored by: Dell EMC Isilon
Differential Revision: https://reviews.freebsd.org/D17156
Modified:
head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Thu Sep 13 17:39:08 2018 (r338655)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c Thu Sep 13 17:56:48 2018 (r338656)
@@ -538,8 +538,13 @@ typedef struct arc_state {
*/
int zfs_arc_meta_prune = 10000;
unsigned long zfs_arc_dnode_limit_percent = 10;
-int zfs_arc_meta_strategy = ARC_STRATEGY_META_BALANCED;
+int zfs_arc_meta_strategy = ARC_STRATEGY_META_ONLY;
int zfs_arc_meta_adjust_restarts = 4096;
+
+SYSCTL_INT(_vfs_zfs, OID_AUTO, arc_meta_strategy, CTLFLAG_RWTUN,
+ &zfs_arc_meta_strategy, 0,
+ "ARC metadata reclamation strategy "
+ "(0 = metadata only, 1 = balance data and metadata)");
/* The 6 states: */
static arc_state_t ARC_anon;
More information about the svn-src-all
mailing list