在 VMware 创建虚拟机的过程中,需要我们配置处理器数量和内核数量,这两项有什么区别又该如何设置呢?
如何配置虚拟机中的处理器?
先看下 VMware 中与处理器有关的虚拟机设置:
需要我们选择处理器数量和每个处理器的内核数量:
- 处理器(Process)数量:虚拟机中 CPU 的数量。对应物理机概念中的“多路”,比如有些服务器主板支持安装 2 颗 CPU,被称为双路主板。
- 每个处理器的内核(Core)数量:虚拟机中每个 CPU 的核心数量。对应物理机概念中的核心数,比如我现在使用的 R9-5900X 是一颗 12 核处理器,但由于支持超线程技术,相当于有 24 个逻辑核心。
这两个值应该设置成多少?
我们可以看下 VMware 官方文档中给出的建议:为虚拟机选择处理器数量 。
从中可以归纳出以下几点:
- 现代的 CPU 基本都支持在虚拟机中虚拟出多个处理器;
- 如果虚拟出多个处理器,由于系统或程序可能没有进行针对性的优化,反而降低性能;
- 应保留一部分逻辑核心不分配给虚拟机。
这样处理器的配置思路就比较清晰了:总内核数 = 处理器数量 * 每个处理器的内核数量。处理器数量推荐为 1,那么让每个处理器的内核数量 = 你想分配给虚拟机的逻辑核心数量即可。
举个例子。比如我想在我这台电脑中用 VMware 搭建一个用于测试的 CDH 大数据服务器集群,集群有 3 台服务器,1 台性能较强作为主节点,剩下 2 台性能较弱,此外还要为宿主机保留足够的性能用于日常工作,可以像下面这样进行配置:
机器 | 处理器的数量 | 每个处理器的内核数量 | 总内核数 | 内存 |
---|---|---|---|---|
宿主机 | 1 | 12 | 24 | 64 |
cdh1 | 1 | 12 | 12 | 32 |
cdh2 | 1 | 4 | 4 | 12 |
cdh3 | 1 | 4 | 4 | 12 |
参考资料
为虚拟机选择处理器数量
配置虚拟机处理器设置
Vmware核心处理器及内核数量相关概念
vmware 中给 VM 设置 cpu 如何设置才是合理的?
Setting the Number of Cores per CPU in a Virtual Machine