我有一个KVM虚拟化主机,8核和32 of的RAM。该机器用于托管用于评估软件、配置等的VM。通常有2-4个VM同时运行。主机正在运行UbuntuServer12.04LTS。这是一个仅安装KVM的基本安装。通常,此主机上的来宾VM分配2核和4GB RAM。所有客人都在运行Ubuntu12.04服务器。
最近,我开始在一个VM上测试一个软件(CrashPlan PROe Server),它有两个核心和8GB内存分配。CrashPlan PROe是一个Java应用程序。我从生产服务器导入了一个配置来模拟我们的活动环境。
在正常负载下,我观察到使用top (在来宾上)的CPU利用率很高。我还在主机上观察到一个KVM进程显示了类似的CPU负载。在KVM主机上,似乎每个VM都有一个KVM进程。
·我是否正确地说,每个KVM客人将有一个主机KVM流程?
当将CPU资源分配给虚拟机时-虚拟机是否直接寻址这些核心?或者,主机是否只是向客人展示了所述核心的虚拟表示?
·在我的具体案例中,在一台拥有8核和32 8GB的机器上只分配了2核和8GB RAM的客户如何能够在主机上造成如此高的CPU利用率(在单个KVM进程上超过80% )?
发布于 2014-04-04 02:33:15
KVM为分配给客户的每个虚拟cpu启动并运行一个进程。双核VM意味着两个主机端线程。
来宾调度一个vcpu,命令被传递给主机,并在适当的线程中执行。
众所周知,Java需要资源。80%并不坏,因为这只是一个主机核心。也就是说,两个完全排定的主机核心将显示200%。
https://serverfault.com/questions/586591
复制相似问题