kvm下的虚机在qemu和libvirt处默认使用balloon方式的内存,还可以支持使用dimm设备内存,本文介绍如何配置虚机使用dimm设备。
Linux下对虚机的管理通常使用libvirt,虚机的配置以xml文件格式保存,所以需修改xml文件。
1.在虚机xml文件的memory字段处配置maxMemory,以限制虚机总内存大小和可插入dimm设备的slot数。
<maxMemory slots='16' unit='KiB'>
12524288</maxMemory>
2.在cpu字段处增加虚机numa配置,并指定虚机内存大小。
<numa>
<cell cpus='0-1' memory='1048576'/> 为虚机配置numa
<cell cpus='2-3' memory='1048576'/>
</numa>
3.device字段配置dimm设备
<memory model='dimm'>
<source>物理机侧的配置,可选项,不指定的话默认采用numatune的配置
<pagesize unit='KiB/>'4096</pagesize> 设置后忽略主机内存默认的页大小
<nodemask>1-3</nodemask> 从指定numa节点分配内存
</source>
<target>虚机侧的配置,指定插入内存设备的大小及虚机中的numa节点
<size unit='KiB'>524287</size>
<node>1</node>
</target>
</memory>
Linux下对虚机的管理通常使用libvirt,虚机的配置以xml文件格式保存,所以需修改xml文件。
1.在虚机xml文件的memory字段处配置maxMemory,以限制虚机总内存大小和可插入dimm设备的slot数。
<maxMemory slots='16' unit='KiB'>
12524288</maxMemory>
2.在cpu字段处增加虚机numa配置,并指定虚机内存大小。
<numa>
<cell cpus='0-1' memory='1048576'/> 为虚机配置numa
<cell cpus='2-3' memory='1048576'/>
</numa>
3.device字段配置dimm设备
<memory model='dimm'>
<source>物理机侧的配置,可选项,不指定的话默认采用numatune的配置
<pagesize unit='KiB/>'4096</pagesize> 设置后忽略主机内存默认的页大小
<nodemask>1-3</nodemask> 从指定numa节点分配内存
</source>
<target>虚机侧的配置,指定插入内存设备的大小及虚机中的numa节点
<size unit='KiB'>524287</size>
<node>1</node>
</target>
</memory>