在一个涉及虚拟化和电源管理的研究项目中,我正在测试各种资源分配方案和自定义电源管理算法。我感兴趣的是将虚拟机隔离为只使用某个特定的CPU核心。
我在考虑使用Windows 2008R2和Hyper-V,但Hyper-V不允许为虚拟机设置CPU亲和性,是否可以确保运行CPU密集型任务的虚拟机仅使用一个CPU核心(将虚拟机配置为使用单个CPU),并使其余核心可用于其他任务?
VMware ESX Server是一个有趣的选择,因为它提供了我需要的设置(包括热内存添加),但它看起来像是一个封闭的系统。提供API了吗?我知道该产品已经具有电源管理功能,但我正在寻找实现自定义实现的方法。
除了这两个解决方案,您是否可以推荐其他虚拟机管理程序,如设置CPU亲和力,CPU限制和保留,热内存添加,并允许在主机服务器上运行的自定义应用程序(也提供API来编程这类应用程序)-也许思杰XenSource,KVM (我不熟悉这些解决方案)?
发布于 2010-03-04 21:40:08
我不认为VMware会支持对服务器的修改,但你可以在ESX服务器上获得一个命令行,因为基本上你是对的,它的底层是linux (我相信是RedHat模块)。
Xen/KVM是开源的,所以你可以破解它。如果您有预算限制,可能会建议您采用KVM路线,因为社区会支持您。在企业环境中,包含Citrix可能会带来麻烦。
发布于 2017-11-09 13:34:17
是否可以确保运行CPU密集型任务的虚拟机只使用CPU的一个核心?
Openstack (KVM作为系统管理程序)提供了一个CPU锁定特性,您可以通过这个特性将vCPU绑定到一个物理CPU核心。如果你需要更多关于这个主题的信息,请告诉我。
这是一个解释这个特性的link。此链接还确认Hyper-V不支持CPU固定。
https://stackoverflow.com/questions/2379558
复制相似问题