mirror of
https://github.com/qemu/qemu.git
synced 2024-11-24 19:33:39 +08:00
qcow2: Options' documentation fixes
Signed-off-by: Leonid Bloch <lbloch@janustech.com> Reviewed-by: Alberto Garcia <berto@igalia.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
543770bd2e
commit
40fb215d48
@ -79,14 +79,14 @@ Choosing the right cache sizes
|
||||
In order to choose the cache sizes we need to know how they relate to
|
||||
the amount of allocated space.
|
||||
|
||||
The amount of virtual disk that can be mapped by the L2 and refcount
|
||||
The part of the virtual disk that can be mapped by the L2 and refcount
|
||||
caches (in bytes) is:
|
||||
|
||||
disk_size = l2_cache_size * cluster_size / 8
|
||||
disk_size = refcount_cache_size * cluster_size * 8 / refcount_bits
|
||||
|
||||
With the default values for cluster_size (64KB) and refcount_bits
|
||||
(16), that is
|
||||
(16), this becomes:
|
||||
|
||||
disk_size = l2_cache_size * 8192
|
||||
disk_size = refcount_cache_size * 32768
|
||||
@ -97,12 +97,16 @@ need:
|
||||
l2_cache_size = disk_size_GB * 131072
|
||||
refcount_cache_size = disk_size_GB * 32768
|
||||
|
||||
QEMU has a default L2 cache of 1MB (1048576 bytes) and a refcount
|
||||
cache of 256KB (262144 bytes), so using the formulas we've just seen
|
||||
we have
|
||||
For example, 1MB of L2 cache is needed to cover every 8 GB of the virtual
|
||||
image size (given that the default cluster size is used):
|
||||
|
||||
1048576 / 131072 = 8 GB of virtual disk covered by that cache
|
||||
262144 / 32768 = 8 GB
|
||||
8 GB / 8192 = 1 MB
|
||||
|
||||
The refcount cache is 4 times the cluster size by default. With the default
|
||||
cluster size of 64 KB, it is 256 KB (262144 bytes). This is sufficient for
|
||||
8 GB of image size:
|
||||
|
||||
262144 * 32768 = 8 GB
|
||||
|
||||
|
||||
How to configure the cache sizes
|
||||
@ -130,6 +134,9 @@ There are a few things that need to be taken into account:
|
||||
memory as possible to the L2 cache before increasing the refcount
|
||||
cache size.
|
||||
|
||||
- At most two of "l2-cache-size", "refcount-cache-size", and "cache-size"
|
||||
can be set simultaneously.
|
||||
|
||||
Unlike L2 tables, refcount blocks are not used during normal I/O but
|
||||
only during allocations and internal snapshots. In most cases they are
|
||||
accessed sequentially (even during random guest I/O) so increasing the
|
||||
|
@ -732,15 +732,18 @@ image file)
|
||||
|
||||
@item cache-size
|
||||
The maximum total size of the L2 table and refcount block caches in bytes
|
||||
(default: 1048576 bytes or 8 clusters, whichever is larger)
|
||||
(default: the sum of l2-cache-size and refcount-cache-size)
|
||||
|
||||
@item l2-cache-size
|
||||
The maximum size of the L2 table cache in bytes
|
||||
(default: 4/5 of the total cache size)
|
||||
(default: if cache-size is not defined - 1048576 bytes or 8 clusters, whichever
|
||||
is larger; otherwise, as large as possible or needed within the cache-size,
|
||||
while permitting the requested or the minimal refcount cache size)
|
||||
|
||||
@item refcount-cache-size
|
||||
The maximum size of the refcount block cache in bytes
|
||||
(default: 1/5 of the total cache size)
|
||||
(default: 4 times the cluster size; or if cache-size is specified, the part of
|
||||
it which is not used for the L2 cache)
|
||||
|
||||
@item cache-clean-interval
|
||||
Clean unused entries in the L2 and refcount caches. The interval is in seconds.
|
||||
|
Loading…
Reference in New Issue
Block a user