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
This commit is contained in:
parent
23679408ce
commit
73511c241b
@ -538,9 +538,14 @@ 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;
|
||||
static arc_state_t ARC_mru;
|
||||
|
Loading…
x
Reference in New Issue
Block a user