[Qemu-devel] [PATCH v3 1/3] qemu-options: explain disk I/O throttling options

Stefan Hajnoczi posted 3 patches 8 years, 11 months ago
[Qemu-devel] [PATCH v3 1/3] qemu-options: explain disk I/O throttling options
Posted by Stefan Hajnoczi 8 years, 11 months ago
The disk I/O throttling options have been listed for a long time but
never explained on the QEMU man page.

Suggested-by: Nini Gu <ngu@redhat.com>
Cc: Alberto Garcia <berto@igalia.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 qemu-options.hx | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/qemu-options.hx b/qemu-options.hx
index c85f77d..bbd1bd9 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -607,6 +607,30 @@ file sectors into the image file.
 conversion of plain zero writes by the OS to driver specific optimized
 zero write commands. You may even choose "unmap" if @var{discard} is set
 to "unmap" to allow a zero write to be converted to an UNMAP operation.
+@item bps=@var{b},bps_rd=@var{r},bps_wr=@var{w}
+Specify bandwidth throttling limits in bytes per second, either for all request
+types or for reads or writes only.  Small values can lead to timeouts or hangs
+inside the guest.  A safe minimum for disks is 2 MB/s.
+@item bps_max=@var{bm},bps_rd_max=@var{rm},bps_wr_max=@var{wm}
+Specify bursts in bytes per second, either for all request types or for reads
+or writes only.  Bursts allow the guest I/O to spike above the limit
+temporarily.
+@item iops=@var{i},iops_rd=@var{r},iops_wr=@var{w}
+Specify request rate limits in requests per second, either for all request
+types or for reads or writes only.
+@item iops_max=@var{bm},iops_rd_max=@var{rm},iops_wr_max=@var{wm}
+Specify bursts in requests per second, either for all request types or for reads
+or writes only.  Bursts allow the guest I/O to spike above the limit
+temporarily.
+@item iops_size=@var{is}
+Let every @var{is} bytes of a request count as a new request for iops
+throttling purposes.  Use this option to prevent guests from circumventing iops
+limits by sending fewer but larger requests.
+@item group=@var{g}
+Join a throttling quota group with given name @var{g}.  All drives that are
+members of the same group are accounted for together.  Use this option to
+prevent guests from circumventing throttling limits by using many small disks
+instead of a single larger disk.
 @end table
 
 By default, the @option{cache=writeback} mode is used. It will report data
-- 
2.9.3


Re: [Qemu-devel] [PATCH v3 1/3] qemu-options: explain disk I/O throttling options
Posted by Alberto Garcia 8 years, 11 months ago
On Wed 01 Mar 2017 12:50:24 PM CET, Stefan Hajnoczi wrote:
> The disk I/O throttling options have been listed for a long time but
> never explained on the QEMU man page.
>
> Suggested-by: Nini Gu <ngu@redhat.com>
> Cc: Alberto Garcia <berto@igalia.com>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

Reviewed-by: Alberto Garcia <berto@igalia.com>

Berto

Re: [Qemu-devel] [PATCH v3 1/3] qemu-options: explain disk I/O throttling options
Posted by Greg Kurz 8 years, 11 months ago
On Wed,  1 Mar 2017 11:50:24 +0000
Stefan Hajnoczi <stefanha@redhat.com> wrote:

> The disk I/O throttling options have been listed for a long time but
> never explained on the QEMU man page.
> 
> Suggested-by: Nini Gu <ngu@redhat.com>
> Cc: Alberto Garcia <berto@igalia.com>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---

Reviewed-by: Greg Kurz <groug@kaod.org>

>  qemu-options.hx | 24 ++++++++++++++++++++++++
>  1 file changed, 24 insertions(+)
> 
> diff --git a/qemu-options.hx b/qemu-options.hx
> index c85f77d..bbd1bd9 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -607,6 +607,30 @@ file sectors into the image file.
>  conversion of plain zero writes by the OS to driver specific optimized
>  zero write commands. You may even choose "unmap" if @var{discard} is set
>  to "unmap" to allow a zero write to be converted to an UNMAP operation.
> +@item bps=@var{b},bps_rd=@var{r},bps_wr=@var{w}
> +Specify bandwidth throttling limits in bytes per second, either for all request
> +types or for reads or writes only.  Small values can lead to timeouts or hangs
> +inside the guest.  A safe minimum for disks is 2 MB/s.
> +@item bps_max=@var{bm},bps_rd_max=@var{rm},bps_wr_max=@var{wm}
> +Specify bursts in bytes per second, either for all request types or for reads
> +or writes only.  Bursts allow the guest I/O to spike above the limit
> +temporarily.
> +@item iops=@var{i},iops_rd=@var{r},iops_wr=@var{w}
> +Specify request rate limits in requests per second, either for all request
> +types or for reads or writes only.
> +@item iops_max=@var{bm},iops_rd_max=@var{rm},iops_wr_max=@var{wm}
> +Specify bursts in requests per second, either for all request types or for reads
> +or writes only.  Bursts allow the guest I/O to spike above the limit
> +temporarily.
> +@item iops_size=@var{is}
> +Let every @var{is} bytes of a request count as a new request for iops
> +throttling purposes.  Use this option to prevent guests from circumventing iops
> +limits by sending fewer but larger requests.
> +@item group=@var{g}
> +Join a throttling quota group with given name @var{g}.  All drives that are
> +members of the same group are accounted for together.  Use this option to
> +prevent guests from circumventing throttling limits by using many small disks
> +instead of a single larger disk.
>  @end table
>  
>  By default, the @option{cache=writeback} mode is used. It will report data