内存过量和多处理器一定好吗?

日期: 2011-04-20 来源:TechTarget中国

  在过去几年间,传统的虚拟机配置观点已经发生了变化。在虚拟化初期,很多管理员配置虚拟机时会犯两个错误:分配内存和分配处理器。管理员一般会分配过多的内存和处理器,因为虚拟化管理平台允许管理员这么做,但是过量内存和多处理器通常并不必要。

  虚拟机配置影响服务器整合的比率:如果每个虚拟机的资源被充分利用,那么可以在物理主机上运行更多的虚拟机。更大的整合将斩获更多的剩余资源,提供更高的业务灵活性,当需要时可以在物理主机上运行额外的虚拟机。

  如果给虚拟机增加不必要的内存和处理单元,那么物理主机上只能运行更少的虚拟机。因此虚拟机内存和处理器的配置对主机性能和运行虚拟机的容量有显著影响。

  内存观念错误

  现今流行的虚拟机配置指导建议给虚拟机分配的内存数量应该是虚拟机所需要的。如果只需要2GB,那么给虚拟机分配4GB内存并没有任何好处。

  给虚拟机分配过多的内存源于两种不正确的观念:考虑到虚拟机能够使用更多的空间用于其它资源,分配更多的内存意味着计算机运行的更快,而未分配的内存只是被虚拟化管理平台占用。

  实际上,分配过多的内存仅仅是创建更多空闲的内存空间。通过测量虚拟机内存随着时间变化的消耗发现,虚拟机实际上并不使用空闲的内存空间。

  主要的虚拟化平台厂商都在宣扬他们自己的内存算法,许多人把厂商的内存算法归结为:“给虚拟机分配过多的内存并无大碍。”但是分配过量内存的观念不能和事实相去甚远。

  虽然使用虚拟化平台可以给虚拟机分配过量内存,不过最好不要分配过多的内存,因为在虚拟机之间传输未用的内存常常需要更多的资源。

  在“了解VMware ESX 4.1内存资源管理”的最佳实践部分,VMware建议将虚拟机的内存大小设置为“稍稍大于平均的内存使用大小。” 建议“稍稍大于”的内存值要适应虚拟机工作负载的峰值,比如登录、备份、恶意软件扫描或者其他非标准活动。如果你给虚拟机分配了过多的内存只是因为你可以这么做,那么需要重新思考虚拟机的内存配置。

  滥用处理器分配

  过量分配内存不是好事儿,但过量分配处理器会更糟。举例来说,这取决于虚拟化平台如何调度虚拟机处理需求,给运行单线程应用程序的虚拟机分配多个处理器可能破坏性能。

  现在,虚拟化平台不再需要几乎同时调度虚拟处理器,但是处理器的一致视图需要额外的资源。这样的处理器称之为co-de-scheduled处理器,它们的活动不会同时被调度。如果虚拟服务器的工作负载不是多线程的,并不需要在多个处理器间运行工作负载。从根本上说,给单线程的虚拟机分配多个处理器,是在为不存在的额外的好处支付附加税。

  难以确定是否要给虚拟机配置多个处理器。Windows操作系统倾向于在可用的处理器之间平衡处理线程,因此难以了解工作负载是否使用多处理器或者工作负载的活动是否自动被负载均衡。而负载均衡也会带来开销,这进一步增加了额外的税收,同样使了解工作负载是否真的是多线程变得困难。

  除非你确定虚拟机的活动是多线程的,而且能够受益于多处理器,否则从单一虚拟处理器开始才是虚拟机配置的最佳实践。你可能想利用过量内存和添加处理器的能力给虚拟机分配过多内存和多个处理器,但这其实没有必要。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐

  • 快速搭建Linux服务器集群(上)

    科学家们意识到,单块处理器的速度发展空间是有限的,为什么不能让计算机象人一样协同工作,”群策群力”地将工作完成好呢!这时,就掀起了”并行计算”的研究。