]> git.proxmox.com Git - mirror_zfs.git/blobdiff - man/man5/zfs-module-parameters.5
Make zio_taskq_batch_pct user configurable
[mirror_zfs.git] / man / man5 / zfs-module-parameters.5
index 14c7fb81ad37d9093bda1560b459b401e1f4e927..6be382eacafe9f8d7bf67719ff54612f9e133de0 100644 (file)
@@ -301,6 +301,22 @@ rewind" (\fB-X\fR) pool import.
 Default value: 10000
 .RE
 
+.sp
+.ne 2
+.na
+\fBspa_slop_shift\fR (int)
+.ad
+.RS 12n
+Normally, we don't allow the last 3.2% (1/(2^spa_slop_shift)) of space
+in the pool to be consumed.  This ensures that we don't run the pool
+completely out of space, due to unaccounted changes (e.g. to the MOS).
+It also limits the worst-case time to allocate space.  If we have
+less than this amount of free space, most ZPL operations (e.g. write,
+create) will return ENOSPC.
+.sp
+Default value: 5
+.RE
+
 .sp
 .ne 2
 .na
@@ -367,7 +383,7 @@ Default value: \fB8192\fR.
 \fBzfs_arc_evict_batch_limit\fR (int)
 .ad
 .RS 12n
-Number ARC headers to evict per sub-list before proceding to another sub-list.
+Number ARC headers to evict per sub-list before proceeding to another sub-list.
 This batch-style operation prevents entire sub-lists from being evicted at once
 but comes at a cost of additional unlocking and locking.
 .sp
@@ -388,23 +404,24 @@ Default value: \fB5\fR.
 .sp
 .ne 2
 .na
-\fBzfs_arc_max\fR (ulong)
+\fBzfs_arc_lotsfree_percent\fR (int)
 .ad
 .RS 12n
-Max arc size
+Throttle I/O when free system memory drops below this percentage of total
+system memory.  Setting this value to 0 will disable the throttle.
 .sp
-Default value: \fB0\fR.
+Default value: \fB10\fR.
 .RE
 
 .sp
 .ne 2
 .na
-\fBzfs_arc_memory_throttle_disable\fR (int)
+\fBzfs_arc_max\fR (ulong)
 .ad
 .RS 12n
-Disable memory throttle
+Max arc size
 .sp
-Use \fB1\fR for yes (default) and \fB0\fR to disable.
+Default value: \fB0\fR.
 .RE
 
 .sp
@@ -521,6 +538,18 @@ the reclaim thread catches up and the overflow condition no longer exists.
 Default value: \fB8\fR.
 .RE
 
+.sp
+.ne 2
+.na
+
+\fBzfs_arc_p_min_shift\fR (int)
+.ad
+.RS 12n
+arc_c shift to calc min/max arc_p
+.sp
+Default value: \fB4\fR.
+.RE
+
 .sp
 .ne 2
 .na
@@ -554,6 +583,19 @@ log2(fraction of arc to reclaim)
 Default value: \fB5\fR.
 .RE
 
+.sp
+.ne 2
+.na
+\fBzfs_arc_sys_free\fR (ulong)
+.ad
+.RS 12n
+The target number of bytes the ARC should leave as free memory on the system.
+Defaults to the larger of 1/64 of physical memory or 512K.  Setting this
+option to a non-zero value will override the default.
+.sp
+Default value: \fB0\fR.
+.RE
+
 .sp
 .ne 2
 .na
@@ -565,6 +607,31 @@ Disable pool import at module load by ignoring the cache file (typically \fB/etc
 Use \fB1\fR for yes (default) and \fB0\fR for no.
 .RE
 
+.sp
+.ne 2
+.na
+\fBzfs_dbgmsg_enable\fR (int)
+.ad
+.RS 12n
+Internally ZFS keeps a small log to facilitate debugging.  By default the log
+is disabled, to enable it set this option to 1.  The contents of the log can
+be accessed by reading the /proc/spl/kstat/zfs/dbgmsg file.  Writing 0 to
+this proc file clears the log.
+.sp
+Default value: \fB0\fR.
+.RE
+
+.sp
+.ne 2
+.na
+\fBzfs_dbgmsg_maxsize\fR (int)
+.ad
+.RS 12n
+The maximum size in bytes of the internal ZFS debug log.
+.sp
+Default value: \fB4M\fR.
+.RE
+
 .sp
 .ne 2
 .na
@@ -913,6 +980,21 @@ Seconds to expire .zfs/snapshot
 Default value: \fB300\fR.
 .RE
 
+.sp
+.ne 2
+.na
+\fBzfs_admin_snapshot\fR (int)
+.ad
+.RS 12n
+Allow the creation, removal, or renaming of entries in the .zfs/snapshot
+directory to cause the creation, destruction, or renaming of snapshots.
+When enabled this functionality works both locally and over NFS exports
+which have the 'no_root_squash' option set. This functionality is disabled
+by default.
+.sp
+Use \fB1\fR for yes and \fB0\fR for no (default).
+.RE
+
 .sp
 .ne 2
 .na
@@ -1087,7 +1169,7 @@ Defines a threshold at which metaslab groups should be eligible for
 allocations.  The value is expressed as a percentage of free space
 beyond which a metaslab group is always eligible for allocations.
 If a metaslab group's free space is less than or equal to the
-the threshold, the allocator will avoid allocating to that group
+threshold, the allocator will avoid allocating to that group
 unless all groups in the pool have reached the threshold.  Once all
 groups have reached the threshold, all groups are allowed to accept
 allocations.  The default value of 0 disables the feature and causes
@@ -1500,7 +1582,7 @@ Default value: \fB1,048,576\fR.
 \fBzio_delay_max\fR (int)
 .ad
 .RS 12n
-Max zio millisec delay before posting event
+Max zio millisecond delay before posting event
 .sp
 Default value: \fB30,000\fR.
 .RE
@@ -1516,6 +1598,23 @@ Prioritize requeued I/O
 Default value: \fB0\fR.
 .RE
 
+.sp
+.ne 2
+.na
+\fBzio_taskq_batch_pct\fR (uint)
+.ad
+.RS 12n
+Percentage of online CPUs (or CPU cores, etc) which will run a worker thread
+for IO. These workers are responsible for IO work such as compression and
+checksum calculations. Fractional number of CPUs will be rounded down.
+.sp
+The default value of 75 was chosen to avoid using all CPUs which can result in
+latency issues and inconsistent application performance, especially when high
+compression is enabled.
+.sp
+Default value: \fB75\fR.
+.RE
+
 .sp
 .ne 2
 .na
@@ -1552,12 +1651,16 @@ Default value: \fB16,384\fR.
 .sp
 .ne 2
 .na
-\fBzvol_threads\fR (uint)
+\fBzvol_prefetch_bytes\fR (uint)
 .ad
 .RS 12n
-Number of threads for zvol device
+When adding a zvol to the system prefetch \fBzvol_prefetch_bytes\fR
+from the start and end of the volume.  Prefetching these regions
+of the volume is desirable because they are likely to be accessed
+immediately by \fBblkid(8)\fR or by the kernel scanning for a partition
+table.
 .sp
-Default value: \fB32\fR.
+Default value: \fB131,072\fR.
 .RE
 
 .SH ZFS I/O SCHEDULER