抱歉,如果这些问题的答案显而易见,但我对虚拟机还很陌生,并不精通。所以我在虚拟机上安装了 Ubuntu 20.04,一切正常,但我注意到它在启动 USB 驱动器时并不完全顺畅。我知道虚拟机有其局限性,但如果可能的话,我想让我的体验更顺畅。任何提高我的 Ubuntu 虚拟机性能的建议都将不胜感激。
我读到过一种叫做 Intel VTx 的东西会占用我所有的 CPU 能力,据我观察,这限制了流畅播放 YouTube 1080p 视频的性能。我的虚拟机使用了 4 个内核、4GB RAM 和 128MB VRAM。
答案1
您提到您在虚拟机中运行 Ubuntu 20.04,并为其提供了 4 个核心和 4GB 的 RAM,但您没有提到主机操作系统是什么、主机有多少个 CPU 核心或您正在使用什么虚拟机管理程序。基于此,我只能用最通用的术语来回答这个问题。
1) 不要将所有 CPU 核心都分配给虚拟机。如果您有 4 个 CPU 核心,则只将 3 个分配给虚拟机。这将降低总吞吐量,但会降低性能抖动,因为虚拟机内核无法判断主机操作系统是否已取消调度它,以便主机在物理 CPU 核心上运行某些操作。
2) 确保配置虚拟机以公开底层 CPU 拓扑。如果主机上有 4 个核心/8 个线程,而您要将 3 个核心/6 个线程传递给虚拟机,请适当配置虚拟机以将此信息公开给客户虚拟机。这将允许客户机的内核更合理地调度进程。
3) 将逻辑 CPU 线程固定到物理 CPU 线程。具体方法取决于您所使用的虚拟机管理程序。
4) 如果您使用的是 NUMA 系统,并且您的 VM 小于 NUMA 节点,请确保其 CPU 核心和内存都分配在单个 NUMA 节点上。这将确保内存延迟是一致的吞吐量范围,并且您不会导致不必要的 CPU 缓存未命中。如果您的系统有多个 CPU 插槽,或者一个 CPU 插槽上有多个芯片(例如 Core 2 quad 或 AMD Zen),那么这尤其重要。
5) 使用适当的半虚拟化驱动程序进行存储和图形处理。
除此之外的任何其他建议都需要针对您所使用的虚拟机管理程序。