博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Libvirt中windows虚拟机的动态内存管理
阅读量:6830 次
发布时间:2019-06-26

本文共 1203 字,大约阅读时间需要 4 分钟。

非常短的前提

Libvirt支持对虚拟机进行内存动态扩展,可是windows虚拟机首先须要安装virtio-win驱动。

KVM提供的virtio-win驱动下载地址:

下面是栗子

镜像:windows2008R2。64位

virtio-win:virtio-win-0.1-100.iso
disk:差分镜像(qemu-img create -f qcow2 -b ./windows_2008R2_x86_64 disk)

使用qemu命令启动虚拟机并载入virtio驱动:

qemu-system-x86_64 -hda ./windows_2008R2_x86_64 -drive file=./disk,if=virtio \-drive file=./virtio-win-0.1-100.iso,media=cdrom,index=1 -net nic,model=virtio \-net user -boot d -vga std -m 4096 -usbdevice tablet -vnc :50 -enable-kvm

通过vnc訪问该虚拟机,进行下面操作:

  1. 进入“设备管理器” - “系统设备”。安装“未知设备”为“Virtio Balloon Driver”
  2. 将virtio-win光驱中的WIN7/X86文件夹复制到“c:/Program files/Balloon”
  3. 以管理员身份使用cmd命令行进入上述文件夹
  4. 运行“BLNSVR.exe -i”用以安装BLNSVR服务
  5. 正常关机保存设置

至此。该disk文件已经具备了获取具体内存信息、动态调整内存大小的能力,验证的方法例如以下:

内存具体信息获取验证:

1.使用该disk文件启动虚拟机。在xml文件里加入例如以下段落用于启用balloon设备,同一时候设定採集周期为10s

...

2.採集时间能够手动设置

virsh dommemstat 
--period

3.获取虚拟机的当前内存用量

virsh dommemstat 

内存动态大小调整验证:

1.关闭虚拟机

virsh destroy 

2.设置虚拟机最大内存值(假设已经写入xml文件能够跳过)

virsh setmaxmem 
--size

3.启动虚拟机

virsh start 

4.动态调整

virsh setmem 
--size

有点不同于linux系统的地方在于windows会显示设置的最大内存值,会让人产生误解。

參考资料

转载地址:http://jljkl.baihongyu.com/

你可能感兴趣的文章
执行Android项目时指定特定的AVD进行測试
查看>>
MFC窗口去边框、置顶、全屏、激活
查看>>
Perl 杂记
查看>>
列表的LIFO与文件交互
查看>>
nodeJS 中关于 promise 的使用
查看>>
jQuery内容过滤选择器再探究(原创)
查看>>
OpenCV——级联分类器(CascadeClassifier)
查看>>
Ajax 访问 或 获取 IIS 虚拟目录
查看>>
Palindrome POJ 1159 动态规划
查看>>
lua的C库
查看>>
Cocos2d-x Eclipse下程序运行产生错误Effect initCheck() returned -1
查看>>
Lync Server 2010的部署系列(四) outlook无法加入联机会议
查看>>
Windows Server 2012安装SQL 2012
查看>>
MS UC 2013-0-虚拟机-标准化-部署-2-模板机-制作-5
查看>>
最常用的四种数据分析方法
查看>>
c++学习笔记:类的若干基础问题
查看>>
ubuntu更改sso文件策略
查看>>
业务开发测试HBase之旅三:通过Java Api与HBase交互
查看>>
JS父页面获取子页面返回值
查看>>
鼠标点击主窗体时,模态子窗口是WindowStyle.None时如何闪烁
查看>>