QEMU内存热插拔

        本文档介绍在QEMU中如何使用内存热插拔特性,该特性从V2.1.0开始存在。

        要让内存热插拔工作需要支持Guest。

1 基本RAM的热插

        为了能够支持内存热插拔,QEMU需要说明创建多少个内存slot以及guest支持最大的内存大小。这在开始时使用-m命令行选项来实现,格式如下所示:

-m [size=]megs[,slots=n,maxmem=size]

        其中,megs为开始时RAM内存大小,它为Guest启动时RAM大小 ,slots为可插拔的内存slot个数,maxmem为Guest支持的最大的RAM大小。

        比如,可以使用如下命令:

qemu [...] -m 1G,slot=3,maxmem=4G

        创建Guest,1GB大小内存,3个可插拔内存slot。当guest启动时可插拔内存slot为空,因此guest在启动时可看到内存为1G。Guest可达到最大内存为4GB。这意味着3个额外的GB可通过使用内存slot来增加。

        两个monitor命令可用于热插拔内存:

- “object_add”: 创建一个内存后端object

- “device_add”: 创建一个前端pc-dimm设备并将其插入第一个空闲slot

        比如,如下命令增加另外1GB内存到之前讨论的guest上:

(qemu) object_add memory-backend-ram, id=mem1, size=1GB

(qemu) device_add pc-dimm,id=dimm1,memdev=mem1

2 使用文件后端

        除了基本的RAM热插拔,QEMU也支持使用文件作为内存后端。这在LINUX中对于使用hugetlbfs非常有用,它能够提供更大页的访问。

        比如,假定host在目录/mnt/hugepages-1GB有1GB大页,可以使用如下命令将1GB有用的大页从之前的section插到guest中。

(qemu) object_add memory-backend-file, id=mem1, size=1GB,mem-path=/mnt/hugepages-1GB

(qemu) device_add pc-dimm,id=dimm1,memdev=mem1

        也可能启动内存冷热入可热插拔到内存slot的guest。这看起来有悖常理,但是当使用文件后面时允许更灵活。

        在下面命令行例子中,创建8GB的guest,其中6GB来自正常的RAM,1GB为1GB大页而256MB来自2MB页。同时guest有其他内存slot可以热插2GB:

qemu [...] -m 6GB,slot=4,maxmem=10G \

-object memory-backend-file,id=mem1,size=1G,mem-path=/mnt/hugepages-1G \

-device pc-dimm,id=dimm1,memdev=mem1 \

-object memory-backend-file,id=mem2,size=256M,mem-path=/mnt/hugepages-2MB \

-device pc-dimm,id=dimm2,memdev=mem2 \

3 RAM热拔

        为了能够热拔pc-dimm设备,QEMU必须pc-dimm设备的ids和内存后端object。当你热插时ids被赋值。

        两个monitor命令用来热㧞内存:

- “device_del”: 删去一个前端pc-dimm设备

- “object_del”: 创建一个内存后端object

        比如,假定id为”dimm1”的pc-dimm设备已经存在,它的内存后端为”mem1”,如下命令尝试移除它。

(qemu) device_del dimm1

(qemu) object_del mem1

本文翻译来自:

memory-hotplug.txt - docs/memory-hotplug.txt - Qemu source code (v6.2.0) - Bootlin

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值