首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KVM:哪些CPU特性使VM运行得更好?

KVM:哪些CPU特性使VM运行得更好?
EN

Server Fault用户
提问于 2012-07-02 22:03:24
回答 5查看 96K关注 0票数 22

我们使用的Ubuntu12.04参数如下:

  • 戴尔R910
  • 内核3.2.025-泛型#40-Ubuntu x86_64 GNU/Linux
  • kvm 1:84+dfsg-0 ubuntu16+1.0+noroms+0 ubuntu13
  • qemu 1.0+noroms-0 ubuntu13
  • qemu-普通1.0+noroms-0 ubuntu13
  • qemu 1.0+noroms-0 ubuntu13
  • 4 x Intel(R) Xeon(R) CPU E7-4870@ 2.40GHz (每台启用10个物理核,启用HT和Intel VT )
  • Windows来宾目前没有VirtIO,但这种情况很快就会改变

我们正在这台机器上运行几个Windows客户,其中一个是Windows 2003 32位,另一个是Windows 2008 (64位)。我们目前正在努力解决性能问题,并在CPU模型中四处游玩。

我们通常对Windows 32位来宾使用"qemu-system-x86_64“,例如:

代码语言:javascript
复制
/usr/bin/qemu-system-x86_64 -S -M pc-1.0 -cpu qemu32 -enable-kvm -m 4096 -smp 4,sockets=4,cores=1,threads=1 [...] 

这位客人的表演结果有点低。我们还没有运行任何基准测试,但假设将VM中的大量数据(文件)从一个目录复制到另一个目录,当我们将CPU模型从"-cpu qemu32“切换到"-cpu Nehalem”时,速度要快得多。文件,需要2:40h左右复制,现在40分钟内复制。当然,这不是一个高质量的测试,也有很大的空间进行更专业的尝试。但这是一个明确的指标,表明选择正确的CPU模型可能严重影响客户的性能。

现在我开始好奇,跑了:

代码语言:javascript
复制
qemu-x86_64 -cpu ?
x86           [n270]
x86         [athlon]
x86       [pentium3]
x86       [pentium2]
x86        [pentium]
x86            [486]
x86        [coreduo]
x86          [kvm32]
x86         [qemu32]
x86          [kvm64]
x86       [core2duo]
x86         [phenom]
x86         [qemu64]

和:

代码语言:javascript
复制
kvm -cpu ?model
 x86       Opteron_G3  AMD Opteron 23xx (Gen 3 Class Opteron)
 x86       Opteron_G2  AMD Opteron 22xx (Gen 2 Class Opteron)
 x86       Opteron_G1  AMD Opteron 240 (Gen 1 Class Opteron)
 x86          Nehalem  Intel Core i7 9xx (Nehalem Class Core i7)
 x86           Penryn  Intel Core 2 Duo P9xxx (Penryn Class Core 2)
 x86           Conroe  Intel Celeron_4x0 (Conroe/Merom Class Core 2)
 x86           [n270]  Intel(R) Atom(TM) CPU N270   @ 1.60GHz
 x86         [athlon]  QEMU Virtual CPU version 1.0
 x86       [pentium3]
 x86       [pentium2]
 x86        [pentium]
 x86            [486]
 x86        [coreduo]  Genuine Intel(R) CPU           T2600  @ 2.16GHz
 x86          [kvm32]  Common 32-bit KVM processor
 x86         [qemu32]  QEMU Virtual CPU version 1.0
 x86          [kvm64]  Common KVM processor
 x86       [core2duo]  Intel(R) Core(TM)2 Duo CPU     T7700  @ 2.40GHz
 x86         [phenom]  AMD Phenom(tm) 9550 Quad-Core Processor
 x86         [qemu64]  QEMU Virtual CPU version 1.0

所有这些不同的版本,这是有点难以猜测。"Nehalem“似乎是名单上最具表现力的一个。现在我想知道,怎样才能分辨出哪种CPU模式最适合我的客人?浏览互联网后,我发现了以下来源:

  • http://rwmj.wordpress.com/2010/10/08/32-or-64-bit-virtual-cpu-in-kvm/
  • http://www.linux-kvm.org/page/Tuning_KVM

当我正确地阅读这些站点时,他们声称"-cpu主机“可能带来最好的性能。我对迁移还没有任何担心,因为两台KVM主机设备都是相同的(完全相同的硬件)。

那么,有经验的KVM管理员推荐什么呢?有没有一条金科玉律,甚至是一个矩阵,比如“这个模型对那个客户操作系统来说是最好的”?

我很抱歉,如果我能发现我自己的信息-我运行各种谷歌搜索和浏览许多网站。我找不到能回答我问题的东西。

EN

回答 5

Server Fault用户

回答已采纳

发布于 2012-07-03 12:38:32

这真的很简单。对于同构集群和单个主机设置,请使用host选项。对于混合集群,使用最低可用的CPU版本,因此如果一个主机是Penryn,另一个是Nehalem,则在这两个主机上都使用Penryn。

如果您正在使用RHEV或oVirt,这是内置的。VMWare将其称为"EVC“,并将其定位为一个巨大的功能。

回到性能方面,您肯定需要任何地方都可以使用virtio。如果您仍然遇到性能瓶颈,则通常可以根据具体情况处理这些瓶颈,具体情况取决于这些瓶颈发生在何处。

关于您选择的发行版,我已经在另一个线程超顶中评论了/offtop

票数 15
EN

Server Fault用户

发布于 2012-07-02 23:08:27

Windows客户端当前没有VirtIO

不要浪费更多的时间来调整任何东西。

安装virtIO驱动程序并返回。这种差异是如此之大,以至于您现在可以找到的任何增强对于virtIO都没有任何意义。

仅举一个我们的服务器的例子:

  • 没有virtIO,W2k3可以处理大约10个终端服务器用户

  • 使用virtIO,同一台具有相同操作系统的机器目前可以处理120到125个用户,而且速度很慢。我们添加了另一台虚拟机来运行Server -一台相同的物理计算机
票数 11
EN

Server Fault用户

发布于 2012-07-02 22:28:05

Qemu的工作方式与许多其他管理程序不同。首先,它可以提供完整的仿真。例如,这意味着您可以在ARM处理器上运行x86代码。在KVM模式下,当你使用它的时候,它实际上不会那么做.无论如何,处理器都是公开的,但是向操作系统报告的内容将被-cpu标志更改。

如果您想要更快的速度,这是一个起点,尝试将虚拟处理器的功能与您的实际处理器尽可能地匹配。这将减少次优操作码被调用来运行任务的情况,还将减少在硬件上不可能首先将操作码转换为其他东西的操作码。由于您的Xeon处理器模型是在2011年初发布的,它可能主要支持核心i7系列。因此,我想说Nehalem架构是您最好的模仿。

引用您的链接之一(调谐KVM):

若要将所有可用的主机处理器功能传递给来宾,请使用命令行开关。

代码语言:javascript
复制
 qemu -cpu host

如果您希望保持兼容性,可以向您的客户公开所选的功能。如果您的所有主机都具有这些特性,则保留兼容性:

代码语言:javascript
复制
 qemu -cpu qemu64,+ssse3,+sse4.1,+sse4.2,+x2apic

因此,如果您觉得您最终可能会移动到足以造成问题的地方,您可以找到所有您认为您现在或将来可能拥有的处理器支持的所有受支持的指令集,并列出这些支持。

不过,大多数情况下,您都希望坚持使用-cpu host。使用较少可用标志指定CPU意味着应用程序将避免使用可能使其更快的特性。

票数 10
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/404195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档