关闭

XenServer6 虚拟机多vCPU配置方法

2621人阅读 评论(0) 收藏 举报
分类:

在服务器虚拟化项目或者虚拟桌面项目中,经常会碰到这样的问题,虚机为高负载类型的业务,对CPU的要求很高的时候,
我们希望为这些虚拟桌面分配更多的CPU资源,但是我们也发现,部分系统对CPU数量的支持有数量的限制,超过以后,即使分配,也没法利用到。
也有一些软件会依据CPU的数量(socket的数量)来收费,所以也需要对CPU进行一些调整来减少费用。
首先说一下,在CPU中有几个概念:Socket、Core、Hyper-Threading(HT)。首先得搞清楚这些。
Socket:wikipedia的解释是连接到主板的一个CPU,通俗讲就是一个物理CPU
Core:wikipedia的解释同一个CPU芯片上集成的多个核心,也就是所谓的多核的核
Hyer-Threading:wikipedia的解释模拟的多线程,通俗讲在一个核心上模拟出两个CPU执行线程,能够提高多任务的性能
搞明白了这些以后,我们就来说说系统本身对CPU这几方面的支持限制。
操作系统对CPU的支持分Socket和Core两方面,而Hyper-Threading对操作系统来说基本是不可见的(其实可以通过CPU参数以及其他机制系统会知道开启了超线程)所以,
HT可以简单理解为也是core。
windows 2003等服务器操作系统对物理CPU(socket)以及多核CPU(multi-Core)的支持受产品版本(标准、企业、数据中心版本等)的限制,
具体就不详细列举了。本文主要针对windows 7和XP。(面向虚拟桌面用户)
针对多物理CPU(multi-socket):
windows 7和XP最多支持2路CPU,企业版以上支持2路CPU,企业版以下(Home版)只支持1路CPU
针对多核心(multi-core):
windows 7 32位系统支持最多32核,64位windows 7支持多达256核的CPU。
而XenServer分配给虚机的vCPU都是以Socket的形式呈献给上层虚机的,这就导致,通过XenCenter最多只能给虚机分配2个vCPU,
即使多分配,系统也无法识别到,因为windows 7和XP最多只支持2个socket。
而windows 7和XP又能支持多core,所以我们如果能够以每个socket有多核,然后分配给虚机,这样就可以达到分配更多的CPU自愿给这些虚机系统。
例如,如果我们每个socket有4核心,那么我们就可以分配2路4核弓8个vCPU给虚机。
要进行这样的调整,我们需要手动调整一下XenServer中虚机的CPU的平台模式设置。

查找对应模板或者虚机的UUID

xe vm-list

or

xe template-list

设置模板或者虚机的Platform参数,设置cores-per-socket

xe vm-params-set Platform:cores-per-socket= uuid=

or

xe template-params-set Platform:cores-per-socket= uuid=
这样,我们就可以以每socket多个核心的方式分配 CPU了。推荐修改虚机模板,这样减少很多工作。
BTW:如果cores-per-socket设置为4,那么如果分配一个vCPU给虚机,那么就是一个socket,如果分配3个vCPU给虚机,
由于不超过4,还是以一个socket3个核心的方式出现在虚机中,如果是5个,那么将是一个socket一核心,另外一个socket为4核心分配给虚机,
而如果分配8个vCPU,那么虚机将会看到2个socket,每个4核心。其他的计算方法依次类推。
所以,直接修改模板是安全省事的,但是这样是否会带来性能的开销,有待寻找其他资料佐证。

也可以直接修改虚拟机的vcpu ,可以先查看虚拟机的UUID。
复制此uuid,然后执行如下两条命令,修改虚拟机的vCPU为8个 。
命令一:xe vm-param-set platform:cores-per-socket=4 uuid=
此条命令设置此虚拟机的每个vCPU内嵌四个核心

命令二: xe vm-param-set VCPUs-at-startup=8 VCPUs-max=8 uuid=

此条命令设置虚拟机启动的时候使用8个vCPU
启动虚拟机,在Windows任务管理器中验证CPU的显示是否为8核。

0
0
查看评论

Xen vcpu 调度

VCPU的调度
  • u013358112
  • u013358112
  • 2017-06-18 14:34
  • 367

CPU常识+Qemu虚拟机CPU配置

一、 CPU常识
  • somyjun
  • somyjun
  • 2014-04-15 14:37
  • 2168

8招搞定XenServer虚拟机优化

XenServer是一款虚拟机软件,他的免费版本功能相对强大(相比VMware的ESXi来说),所以现在很多企业简单应用上都会用这款软件,以减小开支(VMware收费实在是太贵了,一般的企业是承担不起的)。 一般虚拟化之后,一台宿主机上面都会运行多个guestOS,当guestOS太多的时候,会影...
  • wenwenxiong
  • wenwenxiong
  • 2016-06-14 19:47
  • 2002

XenServer 6.5 与 XenServer 6.2之对比

XenServer 6.5 已经正式发布,相比较之前开源的XenServer 6.2 版本,有了较大的升级,下面对这次的升级进行详细的描述: 1、dom0由过去的32位升级为64位,意味着内存突破的之前4G的限制以及可以支持更多的PCI设备,可以更好的匹配目前主流的硬件服务器 2、内核由过去的2.6...
  • yh3000
  • yh3000
  • 2015-01-28 13:58
  • 2690

wamp配置虚拟机多目录

今天学习Zend Framework:顺便学习了一下配置虚拟主机,记录一下: 1、首先打开apache的配置文件httpd.conf,并去掉#Include conf/extra/httpd-vhosts.conf前面的#,启用虚拟主机功能 2、先把localhost配置好,免得以后访问...
  • zy994914376
  • zy994914376
  • 2015-05-18 18:40
  • 820

调研libvirt启动虚机预置vCPU的方法,供openstack创建虚机时使用

libvirt通过xml来管理虚机,openstack通过构造xml来让libvirt依据xml创建虚机,所以xml是一个载体。  xml内的选项可以设置vcpu的最大值,若其current属性未设置也表示分配给虚机的cpu数量。如:      ...
  • ivy_feifei
  • ivy_feifei
  • 2014-11-27 10:15
  • 1139

Windows10 wamp环境虚拟主机端口配置

1、下载wampserver    http://xiazai.xiazaiba.com/Soft/W/wamp_2.5_XiaZaiBa.zip?pcid=27954&filename=wamp_2.5_XiaZaiBa.zip&downloadtype=xi...
  • qq_16149125
  • qq_16149125
  • 2016-05-06 18:18
  • 2799

android项目启动,console台提示错误笔记。

启动android项目,报“Failed to allocate memory: 8”
  • Dear_Bee
  • Dear_Bee
  • 2014-06-13 15:48
  • 1928

kvm 虚拟化 SMP(对称多处理器)介绍及配置

一、SMP(对称多处理器)介绍1)SMP简介在计算机技术非常普及和日益发达的今天,以 Intel、IBM 为代表的一些大公司推动着中央处理器(CPU)技术的飞速发展和更新换代,在现在计算机系统中,多处理器、多核、超线程等技术得到了广泛应用。无论是在企业级和科研应用的服务器领域中;还是个人消费者使用的...
  • wanglei_storage
  • wanglei_storage
  • 2016-04-10 16:14
  • 5130

绑定KVM虚拟机的vcpu与物理CPU

Setting KVM processor affinities This section covers setting processor and processing core affinities with libvirt for KVM guests. ...
  • u011956172
  • u011956172
  • 2016-04-15 18:18
  • 4209
    个人资料
    • 访问:565498次
    • 积分:6791
    • 等级:
    • 排名:第4131名
    • 原创:140篇
    • 转载:220篇
    • 译文:6篇
    • 评论:26条
    文章分类
    最新评论