diff options
author | GeLiXin <[email protected]> | 2016-08-11 11:15:37 +0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2016-08-23 13:03:01 -0700 |
commit | 9907cc1cc8c16fa2c7c03aa33264153ca2bdad6c (patch) | |
tree | ad84161f2107b410680fde50a0f8b052268f86d8 /man/man5/zfs-module-parameters.5 | |
parent | 3e635ac15c093ad9f1ee263ac8e4b45917a1449c (diff) |
Add zfs_arc_meta_limit_percent tunable
ARC will evict meta buffers that exceed the arc_meta_limit. Before a further
investigating on whether we should take special protection on meta buffers,
this tunable make arc_meta_limit adjustable for different workloads.
People can set zfs_arc_meta_limit_percent to any value while insmod zfs.ko,
so some range check is added to guarantee a suitable arc_meta_limit.
Suggested by Tim Chase, zfs_arc_dnode_limit is changed to a percent-style
tunable as well.
Signed-off-by: GeLiXin <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #4957
Diffstat (limited to 'man/man5/zfs-module-parameters.5')
-rwxr-xr-x[-rw-r--r--] | man/man5/zfs-module-parameters.5 | 43 |
1 files changed, 37 insertions, 6 deletions
diff --git a/man/man5/zfs-module-parameters.5 b/man/man5/zfs-module-parameters.5 index b4ad3700f..aa2d06d6a 100644..100755 --- a/man/man5/zfs-module-parameters.5 +++ b/man/man5/zfs-module-parameters.5 @@ -401,15 +401,31 @@ Default value: \fB2\fR. .ad .RS 12n When the number of bytes consumed by dnodes in the ARC exceeds this number of -bytes, try to unpin some of it in response to demand for non-metadata. This -value acts as a floor to the amount of dnode metadata. +bytes, try to unpin some of it in response to demand for non-metadata. This +value acts as a floor to the amount of dnode metadata, and defaults to 0 which +indicates that a percent which is based on \fBzfs_arc_dnode_limit_percent\fR of +the ARC meta buffers that may be used for dnodes. See also \fBzfs_arc_meta_prune\fR which serves a similar purpose but is used when the amount of metadata in the ARC exceeds \fBzfs_arc_meta_limit\fR rather than in response to overall demand for non-metadata. .sp -Default value: \fB10% of zfs_arc_meta_limit\fR. +Default value: \fB0\fR. +.RE + +.sp +.ne 2 +.na +\fBzfs_arc_dnode_limit_percent\fR (ulong) +.ad +.RS 12n +Percentage that can be consumed by dnodes of ARC meta buffers. +.sp +See also \fBzfs_arc_dnode_limit\fR which serves a similar purpose but has a +higher priority if set to nonzero value. +.sp +Default value: \fB10\fR. .RE .sp @@ -503,11 +519,11 @@ Default value: \fB0\fR. The maximum allowed size in bytes that meta data buffers are allowed to consume in the ARC. When this limit is reached meta data buffers will be reclaimed even if the overall arc_c_max has not been reached. This -value defaults to 0 which indicates that 3/4 of the ARC may be used -for meta data. +value defaults to 0 which indicates that a percent which is based on +\fBzfs_arc_meta_limit_percent\fR of the ARC may be used for meta data. .sp This value my be changed dynamically except that it cannot be set back to 0 -for 3/4 of the ARC; it must be set to an explicit value. +for a specific percent of the ARC; it must be set to an explicit value. .sp Default value: \fB0\fR. .RE @@ -515,6 +531,21 @@ Default value: \fB0\fR. .sp .ne 2 .na +\fBzfs_arc_meta_limit_percent\fR (ulong) +.ad +.RS 12n +Percentage of ARC buffers that can be used for meta data. + +See also \fBzfs_arc_meta_limit\fR which serves a similar purpose but has a +higher priority if set to nonzero value. + +.sp +Default value: \fB75\fR. +.RE + +.sp +.ne 2 +.na \fBzfs_arc_meta_min\fR (ulong) .ad .RS 12n |