QEMU 相关 

Last Update: 2023-10-03

目录

.qcow2 磁盘文件的 L2 缓存

qemu qcow2 l1 l2

注: 图片来源 https://www.ibm.com/blog/how-to-tune-qemu-l2-cache-size-and-qcow2-cluster-size/

为了读写 .qcow2 文件中的数据,QEMU 需要先根据 L2 table 找到数据的位置。由于每次 I/O 操作读取表的成本可能很高、L1 table 又足够小,为了提升性能,QEMU 会将 L1 table 放在内存中处理。而 L2 table 可能会很大,所以 QEMU 提供了一个参数 l2-cache-size 来控制有多少内存会被用于缓存 L2 table。

计算 l2-cache-size 的公式为 (in Byte):

disk_size = l2_cache_size * cluster_size / 8

Data cluster 大小的默认值是 64KiB。所以该公式可变形为:

disk_size = l2_cache_size * 8192

继续变形成容易计算的形式:

l2_cache_size = disk_size_GB * 131072