首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >虚拟化中的资源浪费

虚拟化中的资源浪费
EN

Server Fault用户
提问于 2010-06-11 07:32:46
回答 3查看 357关注 0票数 4

我已经问过这个问题了,但是有人建议我在SF上问这个问题,就这样吧。

https://stackoverflow.com/questions/3010753/wastage-of-resources-in-virtualization

我不知道这里是否适合提出这个问题。不过,我希望是这样。

今天早些时候在寻找VPS时,我试图了解每个容器在后台是如何工作的。记住,操作系统使用一个系统上的大部分内存和电源,不会在同一台机器上拥有多个操作系统,这意味着更多的资源浪费。

例如,如果我在一个专用框上运行centOS,并且它正在运行,那么就让我们假设有20个后台OS级进程。然后,我去安装一个虚拟化平台,在同一个系统中再安装5台centOS虚拟机,这些虚拟机与主机操作系统完全相同。这不意味着重复这20个过程6次吗?因此,在内部,上下文切换发生在120个进程之间,而不是20个进程之间?

进一步的注释:下面是我所想的一个例子:我有一个主从配置,用于长时间运行的cpu +内存密集型进程,可以分发到4台机器上。假设进程在这4台机器上运行,比如1Gh CPU和1GG RAM,我从集群中每小时获得400个结果(假设一台机器有100个结果)。现在我有了一台更大的机器(比如说4 Gz和4 Gz),它上有4台虚拟主机,有1 Gz CPU和1G RAM。这个配置会给我来自这4个虚拟主机的相同的每小时100个结果吗?

EN

回答 3

Server Fault用户

回答已采纳

发布于 2010-06-11 08:12:04

客人机器中的大多数进程几乎在整个时间都处于睡眠状态。您可以使用ps命令检查多少进程处于休眠状态。在现代虚拟机管理程序中,使用Linux上的KSM技术在虚拟机之间共享重复内存页。VMware也有同样的特点。这几天对超光速不太确定。

总之,虚拟化有开销,但没有您想象的那么多。

票数 2
EN

Server Fault用户

发布于 2010-06-11 07:47:05

首先,“操作系统在系统上使用大部分内存和电源的事实”,这远远不是事实,实际上对大多数服务器来说是非常遥远的。

但要回答你的问题是肯定的,这确实意味着所有这些进程都在进行,但我们的想法是,对于当今的多核CPU,单个操作系统几乎不可能每一个都使用所有可用的资源,那么为什么不使用它来虚拟化呢?如果您有一个单一的旧CPU,那么肯定它会减慢一切,但这不是发生在大多数情况下。

票数 2
EN

Server Fault用户

发布于 2010-06-11 08:31:48

我看到您的问题中有关OS占用的部分已经得到了答复,因此我将只在这里讨论性能考虑。

您将无法获得完全相同的性能水平。然而,我不能肯定地告诉你,表演到底是好是坏。

  • 是的,即使有了当今最先进的硬件和硬件辅助虚拟化,仍然会产生一定数量的开销。但是,这种开销正在逐渐减少,在给定的使用中可能已经可以忽略不计了。
  • 另一方面,按照运行分布式进程的四台机器的例子,可能会有更多的变量影响性能。例如,这四个节点可能需要就它们正在做的事情进行大量的通信。在这种情况下,如果四台机器在一台硬件机器上运行(使用某种VM间网络通信),您可能会看到这些通信的速度和响应时间增加。这可以提高整个过程的绩效。
  • 为了给出另一个例子,让我们假设这个过程是非常网络密集的。如果您有四台物理机器运行该进程,它们都将拥有自己的网络接口卡。但是,如果在一台服务器上运行了4个VM(假设服务器只有一个NIC),VM将需要共享一个NIC。在这两种情况下,假设每个网卡的带宽相等,这将降低性能。

简而言之:它基本上都取决于可用的资源,以及每种类型的资源被使用的程度。

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

https://serverfault.com/questions/150341

复制
相关文章

相似问题

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