为什么当我启用所有 CPU 并添加 cpulimit 时,我会在 VMWare 上获得更好的性能?

为什么当我启用所有 CPU 并添加 cpulimit 时,我会在 VMWare 上获得更好的性能?

我很好奇,但同时也想分享我的发现,通过启用所有虚拟 CPU 并使用 cpulimit(通过“brew install cpulimit”安装)限制 VMWare 进程,可以提高 VMWare 中的游戏性能。

这样我们就可以将虚拟机的极限推得更接近 mac 的极限,而不会因为操作系统争夺资源而导致所有事情都出问题。通常我会将其保持在 85%,并使用“kill -STOP pidsOfNotNeededProcess”关闭其他所有程序,这样得到的结果比我用其他建议的方法得到的结果要好。

我有一台 2012 年的 Mac Mini,配备双核 i5 和超线程。VMWare 建议我保留 2 个核心(我的选项是 1、2 和 4,这会产生资源争夺)以获得最佳性能。但如果我将其设置为 4 并运行“cpulimit -p pidOfVMWare -l 200”(从处理器检测到的 400% 的 200%),我发现我获得了更好的性能。

我的问题是为什么会发生这种情况?

答案1

从阅读内容来看cpulimit,它似乎被设计用来处理 CPU 利用率,并且这种方式可能比 VMware 自身更有效:

它不根据 nice 值或其他调度优先级进行操作,而是根据实际 CPU 使用率进行操作。此外,它能够动态、快速地适应整个系统负载。

(从这一页

我没有从另一端得到很好的解释,但我确实看到了充足例子fusion 本身在限制 CPU 利用率方面表现不佳。不管怎样cpulimit,VMware 应该将其纳入其中。

相关内容