searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

虚机内存气球balloon技术简介

2023-04-28 09:02:03
388
0

1、简介

    内存气球balloon是指在虚拟化环境下,宿主机可以将分配给虚机的部分内存进行回收给其他虚机或其他进程使用的一种技术,目前kvm,xen,vmware等都对balloon技术提供支持,这里只介绍kvm下的balloon技术。

2、balloon工作原理

    Qemu-kvm下的内存气球balloon技术由虚机即qemu-kvm进程的balloon模块和虚机操作系统的balloon驱动两部分组成,以一台8G内存虚机为例,要通过内存气球让其释放出2G内存给其他虚机用,工作流程大致如下:

    1、qemu-kvm发送请求给虚机操作系统让其归还2G内存。

    2、虚机操作系统balloon驱动收到请求,尽量回收操作系统的空闲内存放到内存气球中,注意这里不一定能回收到2G,只是尽可能回收到2G。内存气球中的内存不能给操作系统使用,只能给qemu-kvm使用。

    3、qemu-kvm将内存气球中的内存还给宿主机,宿主机可将这部分内存分给其他虚机用,也可以给其他进程用。

    如果要通过内存气球让虚机操作系统多增加2G内存,则由qemu-kvm向宿主机申请2G内存放到内存气球中,再通知操作系统balloon驱动压缩气球,将气球中内存给操作系统使用。

    注意虚机内存的调整都是被动的,必须由外部用户(比如libvirt)发送qmp命令给qemu-kvm,qemu-kvm再通过balloon驱动进行内存调整。

3、balloon实现内存超配

    balloon一般用于实现虚机内存超配,比如一台8G的宿主机,先建4个2G的虚机,再通过balloon将虚机内存压缩到1G(如果虚机实际内存使用率过高,会影响虚机性能,并且不一定能压缩到1G),这样还能再建2个2G的虚机,只要保证所有虚机的实际内存相加不超过8G即可。

    Balloon进行虚机内存调整是被动的,如果要用balloon实现虚机内存的动态调整,还需要有一套自动化管理机制。

0条评论
0 / 1000
佘****生
5文章数
0粉丝数
佘****生
5 文章 | 0 粉丝
原创

虚机内存气球balloon技术简介

2023-04-28 09:02:03
388
0

1、简介

    内存气球balloon是指在虚拟化环境下,宿主机可以将分配给虚机的部分内存进行回收给其他虚机或其他进程使用的一种技术,目前kvm,xen,vmware等都对balloon技术提供支持,这里只介绍kvm下的balloon技术。

2、balloon工作原理

    Qemu-kvm下的内存气球balloon技术由虚机即qemu-kvm进程的balloon模块和虚机操作系统的balloon驱动两部分组成,以一台8G内存虚机为例,要通过内存气球让其释放出2G内存给其他虚机用,工作流程大致如下:

    1、qemu-kvm发送请求给虚机操作系统让其归还2G内存。

    2、虚机操作系统balloon驱动收到请求,尽量回收操作系统的空闲内存放到内存气球中,注意这里不一定能回收到2G,只是尽可能回收到2G。内存气球中的内存不能给操作系统使用,只能给qemu-kvm使用。

    3、qemu-kvm将内存气球中的内存还给宿主机,宿主机可将这部分内存分给其他虚机用,也可以给其他进程用。

    如果要通过内存气球让虚机操作系统多增加2G内存,则由qemu-kvm向宿主机申请2G内存放到内存气球中,再通知操作系统balloon驱动压缩气球,将气球中内存给操作系统使用。

    注意虚机内存的调整都是被动的,必须由外部用户(比如libvirt)发送qmp命令给qemu-kvm,qemu-kvm再通过balloon驱动进行内存调整。

3、balloon实现内存超配

    balloon一般用于实现虚机内存超配,比如一台8G的宿主机,先建4个2G的虚机,再通过balloon将虚机内存压缩到1G(如果虚机实际内存使用率过高,会影响虚机性能,并且不一定能压缩到1G),这样还能再建2个2G的虚机,只要保证所有虚机的实际内存相加不超过8G即可。

    Balloon进行虚机内存调整是被动的,如果要用balloon实现虚机内存的动态调整,还需要有一套自动化管理机制。

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0