KVM内存气球技术

KVM内存气球技术允许在不关闭客户机的情况下动态调整其占用的内存,以应对宿主机内存需求。通过内存气球,宿主机可以请求客户机回收内存,或释放内存给客户机使用,提高内存利用率。KVM中,内存气球工作涉及hypervisor、客户机的virtio_balloon驱动和内存管理,虽然存在一些不便和性能影响,但能灵活调节内存,节省资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

KVM内存气球技术

通常来说,要改变客户机占用的宿主机内存,是要先关闭客户机,修改启动时的内存配置,然后重启客户机才能实现。而内存的ballooning(气球)技术可以在客户机运行时动态地调整它所占用的宿主机内存资源,而不需要关闭客户机。

Ballooning技术形象地在客户机占用的内存中引入气球(Balloon)的概念,气球中的内存是可以供宿主机使用的(但不能被客户机访问或使用),所以,当宿主机内存使用紧张,空余内存不多时,可以请求客户机回收利用已分配给客户机的部分内存,客户机就会释放其空闲的内存,此时若客户机空闲内存不足,可能还会回收部分使用中的内存,可能会换出部分内存到客户机的交换分区(swap)中,从而使得内存气球充气膨胀,从而让宿主机回收气球中的内存可用于其他进程(或其他客户机)。反之,当客户机中内存不足时,也可以让客户机的内存气球压缩,释放出内存气球中的部分内存,让客户机使用更多的内存。

很多现代的虚拟机,如KVM、Xen、VMware等,都对Ballooning技术提供支持。

内存气球的概念示意图如下所示。

image-20220105151527742

下图是虚拟化环境中气球技术的应用的例子。

虚拟化内存问题

VM1、VM2、VM3、初始分配了10%,20%和30%的内存供3个虚拟机使用,实际生产环境中发现3台虚拟机的内存利用率分别为80%,50%和50%。此时宿主机物理内存剩下60%供其使用,内存利用率也为60%。此时物理宿主机需要将自己的空闲内存率提升到40%之上以供他用。此时请求空闲内存量较多的VM2和VM3,回收部分他们的空闲内存放入气球中,宿主机此时拿到气球中的内存提升自己的空闲内存率,降低内存利用率。过一段时间之后由于VM1需

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值