Skip to content

CPU优化

三个虚拟化选项

三个虚拟化选项:

  • 虚拟化Intel-VT: 如果需要在虚拟化里面使用虚拟化技术, 则打开此选项, 否则不要打开. 此选项会指示VMware虚拟化引擎对硬件虚拟指令进行模拟, 对提高嵌套虚拟化性能有很大帮助, 典型的场景有虚拟机里允许虚拟化, 虚拟化里开安卓模拟器, 虚拟化里运行或测试使用了虚拟化指令的加壳程序. 特别提醒, 基于文件系统驱动实现的沙盒类应用, docker, 虚拟机壳(如VMP)等并没有使用硬件虚拟化指令. 打开此选项对性能有轻微负面影响, 所以不需要时候不要打开.
  • 虚拟化CPU性能计数器: 此选项会传递物理CPU性能信息给虚拟CPU, 使得虚拟CPU的性能统计信息具有参考价值, 仅对在虚拟机里面进行性能调优有意义. 通常来说, 如果你不在虚拟机里面做计算密集的开发工作就不需要开启此选项. 开启后对性能有轻微负面影响, 所以即使你会用到这个功能也只要在测试前打开就好了.
  • 虚拟化IOMMU: 简单来说, 不需要开启此选项. IOMMU是Intel的一项虚拟化辅助技术, 简单来说, 可以赋予虚拟机直接管理某物理设备的能力, 如PCIE Pass-through, (个人用户典型场景为显卡直通), 分配某USB接口或者磁盘给虚拟机等. 需要注意的是, 即使你的电脑不支持IOMMU, 也可以借助VMware等虚拟化软件的驱动或者内核模块获得一部分直接控制物理设备的能力; IOMMU的开启需要主板支持, 操作系统支持, 虚拟化软件支持. 可以开启并不容易而且对个人用户意义不大. 消费级显卡主动屏蔽了显卡直通并且较新的显卡和显卡驱动是不容易绕开这一屏蔽的.

一些好的实践

  • 两个虚拟单核CPU要好于一个虚拟双核CPU.
  • 虚拟CPU数量超过物理CPU数量会导致巨大的性能下降.
  • 不要把所有的物理核心都分配给虚拟机, 不然会出现虚拟机性能良好但是宿主机操作卡顿的情况, 如果宿主机不能平稳运行, 虚拟机的可靠性就是空中楼阁.
  • 多CPU意味着可以开启更多并发的进程(线程), 对多线程优化或者对大量网络连接的应用会有较大的性能提升, 对大多数程序来说没有明显的区别.

采用 CC BY-NC 4.0 许可证发布