aboutsummaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
authorTony Hutter <[email protected]>2018-11-08 16:47:24 -0800
committerBrian Behlendorf <[email protected]>2018-11-08 16:47:24 -0800
commitad796b8a3b2565bcd9c7460b7bf9154e4850ca93 (patch)
tree645cc21be6d49c034f00273276caa82ce59702a7 /man
parent877d925a9e816337bb62ee61d564118db0181477 (diff)
Add zpool status -s (slow I/Os) and -p (parseable)
This patch adds a new slow I/Os (-s) column to zpool status to show the number of VDEV slow I/Os. This is the number of I/Os that didn't complete in zio_slow_io_ms milliseconds. It also adds a new parsable (-p) flag to display exact values. NAME STATE READ WRITE CKSUM SLOW testpool ONLINE 0 0 0 - mirror-0 ONLINE 0 0 0 - loop0 ONLINE 0 0 0 20 loop1 ONLINE 0 0 0 0 Reviewed-by: Brian Behlendorf <[email protected]> Reviewed by: Matthew Ahrens <[email protected]> Signed-off-by: Tony Hutter <[email protected]> Closes #7756 Closes #6885
Diffstat (limited to 'man')
-rw-r--r--man/man5/zfs-events.512
-rw-r--r--man/man5/zfs-module-parameters.521
-rw-r--r--man/man8/zpool.812
3 files changed, 27 insertions, 18 deletions
diff --git a/man/man5/zfs-events.5 b/man/man5/zfs-events.5
index fc2a391f8..7e9bbedaf 100644
--- a/man/man5/zfs-events.5
+++ b/man/man5/zfs-events.5
@@ -96,8 +96,9 @@ information regarding "hung" I/O detection and configuration.
.ad
.RS 12n
Issued when a completed I/O exceeds the maximum allowed time specified
-by the \fBzio_delay_max\fR module option. This can be an indicator of
-problems with the underlying storage device.
+by the \fBzio_slow_io_ms\fR module option. This can be an indicator of
+problems with the underlying storage device. The number of delay events is
+ratelimited by the \fBzfs_slow_io_events_per_second\fR module parameter.
.RE
.sp
@@ -697,10 +698,9 @@ full list of all the I/O stages.
\fBzio_delay\fR
.ad
.RS 12n
-The time in ticks (HZ) required for the block layer to service the I/O. Unlike
-\fBzio_delta\fR this does not include any vdev queuing time and is therefore
-solely a measure of the block layer performance. On most modern Linux systems
-HZ is defined as 1000 making a tick equivalent to 1 millisecond.
+The time elapsed (in nanoseconds) waiting for the block layer to complete the
+I/O. Unlike \fBzio_delta\fR this does not include any vdev queuing time and is
+therefore solely a measure of the block layer performance.
.RE
.sp
diff --git a/man/man5/zfs-module-parameters.5 b/man/man5/zfs-module-parameters.5
index d7b53d161..229484afc 100644
--- a/man/man5/zfs-module-parameters.5
+++ b/man/man5/zfs-module-parameters.5
@@ -1086,7 +1086,7 @@ Default value: \fB600,000\fR.
.ad
.RS 12n
Interval in milliseconds after which the deadman is triggered and an
-individual IO operation is considered to be "hung". As long as the I/O
+individual I/O operation is considered to be "hung". As long as the I/O
remains "hung" the deadman will be invoked every \fBzfs_deadman_checktime_ms\fR
milliseconds until the I/O completes.
.sp
@@ -1141,10 +1141,10 @@ Default value: \fB500,000\fR.
.sp
.ne 2
.na
-\fBzfs_delays_per_second\fR (int)
+\fBzfs_low_ios_per_second\fR (int)
.ad
.RS 12n
-Rate limit IO delay events to this many per second.
+Rate limit delay zevents (which report slow I/Os) to this many per second.
.sp
Default value: 20
.RE
@@ -1655,7 +1655,7 @@ Default value: \fB50\fR.
.ad
.RS 12n
We currently support block sizes from 512 bytes to 16MB. The benefits of
-larger blocks, and thus larger IO, need to be weighed against the cost of
+larger blocks, and thus larger I/O, need to be weighed against the cost of
COWing a giant block to modify one byte. Additionally, very large blocks
can have an impact on i/o latency, and also potentially on the memory
allocator. Therefore, we do not allow the recordsize to be set larger than
@@ -2552,12 +2552,13 @@ Default value: \fB0\fR.
.sp
.ne 2
.na
-\fBzio_delay_max\fR (int)
+\fBzio_slow_io_ms\fR (int)
.ad
.RS 12n
-A zevent will be logged if a ZIO operation takes more than N milliseconds to
-complete. Note that this is only a logging facility, not a timeout on
-operations.
+When an I/O operation takes more than \fBzio_slow_io_ms\fR milliseconds to
+complete is marked as a slow I/O. Each slow I/O causes a delay zevent. Slow
+I/O counters can be seen with "zpool status -s".
+
.sp
Default value: \fB30,000\fR.
.RE
@@ -2568,7 +2569,7 @@ Default value: \fB30,000\fR.
\fBzio_dva_throttle_enabled\fR (int)
.ad
.RS 12n
-Throttle block allocations in the ZIO pipeline. This allows for
+Throttle block allocations in the I/O pipeline. This allows for
dynamic allocation distribution when devices are imbalanced.
When enabled, the maximum number of pending allocations per top-level vdev
is limited by \fBzfs_vdev_queue_depth_pct\fR.
@@ -2594,7 +2595,7 @@ Default value: \fB0\fR.
.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
+for I/O. These workers are responsible for I/O 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
diff --git a/man/man8/zpool.8 b/man/man8/zpool.8
index 8fe6b494b..b9e0e1ad4 100644
--- a/man/man8/zpool.8
+++ b/man/man8/zpool.8
@@ -182,7 +182,7 @@
.Nm
.Cm status
.Oo Fl c Ar SCRIPT Oc
-.Op Fl gLPvxD
+.Op Fl DgLpPsvx
.Op Fl T Sy u Ns | Ns Sy d
.Oo Ar pool Oc Ns ...
.Op Ar interval Op Ar count
@@ -2167,7 +2167,7 @@ and automatically import it.
.Nm
.Cm status
.Op Fl c Op Ar SCRIPT1 Ns Oo , Ns Ar SCRIPT2 Oc Ns ...
-.Op Fl gLPvxD
+.Op Fl DgLpPsvx
.Op Fl T Sy u Ns | Ns Sy d
.Oo Ar pool Oc Ns ...
.Op Ar interval Op Ar count
@@ -2203,6 +2203,8 @@ Display real paths for vdevs resolving all symbolic links. This can
be used to look up the current block device name regardless of the
.Pa /dev/disk/
path used to open it.
+.It Fl p
+Display numbers in parsable (exact) values.
.It Fl P
Display full paths for vdevs instead of only the last component of
the path. This can be used in conjunction with the
@@ -2214,6 +2216,12 @@ Display a histogram of deduplication statistics, showing the allocated
and referenced
.Pq logically referenced in the pool
block counts and sizes by reference count.
+.It Fl s
+Display the number of leaf VDEV slow IOs. This is the number of IOs that
+didn't complete in \fBzio_slow_io_ms\fR milliseconds (default 30 seconds).
+This does not necessarily mean the IOs failed to complete, just took an
+unreasonably long amount of time. This may indicate a problem with the
+underlying storage.
.It Fl T Sy u Ns | Ns Sy d
Display a time stamp.
Specify