原文网址:https://libvirt.org/formatdomain.html#id8
IOThreads是支持磁盘设备的专用事件循环线程,用于执行块I/O请求,以提高可伸缩性,尤其是在具有许多LUN的SMP主机/客户机上。自1.2.8起(仅限于QEMU)。
<domain>
...
<iothreads>4</iothreads>
...
</domain>
<domain>
...
<iothreadids>
<iothread id="2"/>
<iothread id="4"/>
<iothread id="6"/>
<iothread id="8" thread_pool_min="2" thread_pool_max="32"/>
</iothreadids>
<defaultiothread thread_pool_min="8" thread_pool_max="16"/>
...
</domain>
iothreads
此可选元素的内容定义要分配给虚拟机以供支持的目标存储设备使用的 IOThread数量。每一个主机CPU只有1个或2个IOThread。可能有多个受支持的设备分配给每个IOThread。自1.2.8起。
iothreadids
可选的iothreadids元素提供了为虚拟机专门定义IOThread ID的能力。默认情况下,IOThread ID 是从1到为虚拟机定义的iothreads的数量顺序编号的。id属性项用于定义IOThread ID。id属性项必须是一个大于0的正整数。如果定义的iothreadids少于为虚拟机定义的iothreads,则libvirt将从1开始按顺序填充iothreadids,避免任何预定义的id。如果iothreadids大于为虚拟机定义的iothreads,iothreads的值将会相应调整。自1.2.15起。该元素有两个可选属性项thread_pool_min和thread_pool_max用于定义给定IOThread工作线程的上下限。前者可能是0,后者绝不会为0.自8.5.0起。
defaultiothread
该元素代表了虚拟机管理程序内部的默认事件循环,为指定特定IOThread的I/O请求会被该循环处理。该元素可设置thread_pool_min和thread_pool_max属性项,指定了默认事件循环工作线程的上下限数量。模拟器可能是多线程的并按需生成所谓的工作线程。通常两个属性项都不会去设置(使得模拟器使用其自身的默认值),除非模拟器在实时工作负载中运行,因此无法承受生成新工作线程所需时间的不可预测性。自8.5.0起。
本章节描述了用来代表作用域的xml文件格式,根据运行的作用于种类的格式变化,有一些可选配置项用来加载文件。对于特定虚拟机的细节可以查看
相关文件。