是的,有趣的问题。
给定:超级V虚拟机的主机.HPC型机群。
THere是它上的许多虚拟机。它们大部分时间不会耗尽CPU。我们还在家庭中运行一个HPC风格的集群-代理拉乔布斯并处理它们。
有人说要在我们的超级V型机器上安装代理。目前,这将给我们一个显着的性能提升-它将需要夏天,直到我们真正提高硬件的计算集群。
代理在低优先级线程中运行所有计算。对于普通计算机来说,这意味着代理基本上提高了CPU的使用率,但实际上并不影响计算机操作本身--我甚至可以在代理运行时观看DVD。
现在,这和超V有什么关系?什么是“线程优先级”的超级V核心给予虚拟CPU的?根分区是否比虚拟机具有更高的优先级?我不希望代理干扰正在运行的虚拟机。
发布于 2013-01-02 18:50:18
Hyper父分区,即Management,在管理程序中是特殊的.如果它的虚拟处理器是可运行的,那么它们的优先级就大大高于客户VM。这是因为,在受支持的Hyper-V配置中,管理OS所做的唯一事情(从统计上讲)是代表来宾VM的I/O。如果您在管理操作系统中安装了其他任何东西,那么您将抢占客户VM的工作。
我假设您已经想到了这一点,但是您可以通过支持的方式来完成这一任务。创建一个与物理机器大小基本相同的VM。给它很低的CPU和内存重量,并打开动态内存,这样,当空闲时,它不需要太多的内存。在VM中运行计算任务。超调-V将更愿意为任何其他客户做工作,但使用空闲周期代表您的计算任务。
发布于 2013-01-01 18:37:14
首先,我将不再这样做:不建议在Hyper-V的父分区(主机OS)上运行任何额外的工作负载。它的唯一目的是为系统上的其他客户VM提供管理和控制功能,并让管理员查看系统上的其他来宾VM。尽管如此,你当然可以做到这一点,这对你可能很有帮助。但微软的官方立场是避免在父分区上运行任何额外的工作负载。既然这件事已经过去了:
快乐乐趣ASCII架构图:
| Parent | Child | Child | Child |
----------------------------------
Hypervisor
----------------------------------
Physical Hardware父分区是您引导到的操作系统,是您创建和控制所有其他子VM的操作系统,它本身实际上只是与子分区相同级别上的另一个逻辑分区。所有这些分区都并行运行。唯一的区别是管理程序赋予根分区特殊的权限和责任。您可以通过Hyper-V管理控制台为子虚拟机分配CPU权重、储备和限制,但我不清楚这些是否或如何映射到我们所知道的虚拟机管理程序中的线程优先级。
在根分区(或管理OS或主机操作系统)上,您将看到每个虚拟机都有一个vmms.exe和1个vmwp.exe实例。VM管理服务(vmms.exe)负责向管理程序提供WMI接口,以便您可以从MMC管理VM。当您在系统上创建一个新的VM时,它还会创建一个新的vmwp.exe实例。VM工作进程(vmwp.exe)执行典型的单块管理程序将执行的虚拟化工作,比如管理虚拟机的状态。
在具有执行大量I/O或特权操作的子分区的系统上,您会期望大部分CPU使用在父分区中是可见的:您可以使用名称Vmwp.exe (每个子分区一个)来标识它们。工作流程还包括负责远程管理虚拟化堆栈的组件.- Russinovich等人,Windows内部文件第6版
但不幸的是,就VM内部的所有情况而言,vmwp.exe并不是全部,如果您考虑从管理操作系统操作这些进程的优先级,您可能处于未知的、可能无法支持的领域。还有超高速调用和开明调用等,这些调用可能不会由vmwp.exe进程负责,但仍然可以被认为是虚拟机总体工作负载的一部分。
除了可能出现在根分区而不是子分区中的关键Hyper-V组件之外,这些组件可能会抢先执行其他子VM代码,我假设所有分区在线程调度方面都与hypervisor相等。
不幸的是,微软并没有发表很多深入的技术性文章来回答这些问题。如果不是因为Russinovich和他的朋友,我们甚至不会有Windows内部设备。在这篇文章中有一个简短的关于Hyper-V的章节,我在撰写这篇文章时参考了它,但是它并不比这篇文章更深入。
https://serverfault.com/questions/462106
复制相似问题