通过virt-install 创建虚拟机时qemu对vcpu和ram的限制
来源:互联网 发布:js的location方法 编辑:程序博客网 时间:2024/06/05 19:59
通过virt-install 命令创建虚拟机的时候会调用到qemu/hw/arm/virt.c 中的machvirt_machine_initstatic const TypeInfo virt_machine_info = { .name = TYPE_VIRT_MACHINE, .parent = TYPE_MACHINE, .abstract = true, .instance_size = sizeof(VirtMachineState), .class_size = sizeof(VirtMachineClass), .class_init = virt_machine_class_init,};static void machvirt_machine_init(void){ type_register_static(&virt_machine_info);}这里我们重点看virt_machine_class_init->machvirt_initstatic void machvirt_init(MachineState *machine){//下面这段code中会对要创建虚拟机的vcpu的个数和ram的size检查 if (gic_version == 3) { virt_max_cpus = vbi->memmap[VIRT_GIC_REDIST].size / 0x20000; clustersz = GICV3_TARGETLIST_BITS; } else { virt_max_cpus = GIC_NCPU; clustersz = GIC_TARGETLIST_BITS; } if (max_cpus > virt_max_cpus) { error_report("Number of SMP CPUs requested (%d) exceeds max CPUs " "supported by machine 'mach-virt' (%d)", max_cpus, virt_max_cpus); exit(1); } vbi->smp_cpus = smp_cpus; if (machine->ram_size > vbi->memmap[VIRT_MEM].size) { error_report("mach-virt: cannot model more than %dGB RAM", RAMLIMIT_GB); exit(1); } }这里加入gic_version 不等于3的话,则vcpu的个数不能超过virt_max_cpus = GIC_NCPU;。这里的#define GIC_NCPU 8从下面这个秒钟可以看到memory最大不能超过RAMLIMIT_BYTES,也就是256GB#define RAMLIMIT_GB 255#define RAMLIMIT_BYTES (RAMLIMIT_GB * 1024ULL * 1024 * 1024)static const MemMapEntry a15memmap[] = { [VIRT_MEM] = { 0x40000000, RAMLIMIT_BYTES }, /* Second PCIe window, 512GB wide at the 512GB boundary */ [VIRT_PCIE_MMIO_HIGH] = { 0x8000000000ULL, 0x8000000000ULL },};
阅读全文
0 0
- 通过virt-install 创建虚拟机时qemu对vcpu和ram的限制
- centos 5.1 xen virt-manager创建虚拟机时出现Unable to complete install: 'Invalid install location'的问题
- qemu中VCPU的创建按流程
- virt-manager新建虚拟机时提示vmport is not available with this qemu binary
- nova创建虚拟机时资源的检测
- 调研libvirt启动虚机预置vCPU的方法,供openstack创建虚机时使用
- 使用qemu和virt-manager
- kvm虚拟化之virt-install
- kvm虚拟化之virt-install
- kvm虚拟化之virt-install
- kvm 虚拟化 virt-install 安装虚拟机
- QEMU虚拟网卡设备的创建流程
- 通过qemu的snapshot参数,帮助实现虚拟化计算和存储资源的隔离
- 使用virt-install 创建Xen虚拟机
- 使用virt-install 创建Xen虚拟机
- [转载]基于QEMU创建虚拟的U-boot和ARM Linux学习环境
- 基于QEMU创建虚拟的U-boot和ARM Linux学习环境
- 基于QEMU创建虚拟的U-boot和ARM Linux学习环境
- 编程题-- 找出指定数在数组中的范围
- 欢迎使用CSDN-markdown编辑器
- redis和mongo数据备份以及恢复
- 怎样扩容virtualbox里的虚拟机(window系统)硬盘
- Android 使用代码实现一个填空题
- 通过virt-install 创建虚拟机时qemu对vcpu和ram的限制
- 前端Nginx后端Jetty分离部署
- 数字货币开发讲解如何使用“双重支付”问题,怎样解决?
- 鼠标放上去就清空文字
- RecyclerView的相关使用
- Android学习笔记17---单选按钮&复选框
- bug1234513
- p6spy配置文件属性说明
- spark streaming 检查点机制(checkpoint)